文档章节

mongodb操作之mongoose

c
 caiyezi
发布于 2016/11/08 20:24
字数 318
阅读 2
收藏 0
点赞 0
评论 0
/**
 * Created by chaozhou on 2015/10/6.
 */
var mongoose = require("mongoose");
var db = mongoose.createConnection("127.0.0.1", "cms");

//链接错误监听
db.on("error", function (error) {
    console.log(error);
});

//Schema结构
var userSchema = new mongoose.Schema({
    userName: {type: String, default: '匿名用户'},
    trueName: mongoose.Schema.Types.String,
    title: {type: String},
    content: {type: String},
    time: {type: Date, default: Date.now()},
    age: {type: Number}
});

//添加实例方法
userSchema.methods.findByUserName = function (userName, callBack) {
    return this.model("user").find({userName: userName}, callBack);
};

//添加静态方法,静态方法在model层就能使用
userSchema.statics.findByTitle = function (title, callBack) {
    return this.model("user").find({title: title}, callBack);
};

//model层
var userModel = db.model("user", userSchema);

//entity层
var doc = {userName: 'entity_demo_username', title: 'entity_demo_title', content: 'entity_demo_content'};
var userEntity = new userModel(doc);
//添加记录,基于entity的操作方式
userEntity.save(function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log("saved ok");
    }
});

//增加记录,基于model的操作方式
var doc2 = {username: 'model_demo_username', title: 'model_demo_title', content: 'model_demo_content'};
userModel.create(doc2, function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log("saved ok");
    }
    db.close(); //关闭数据库链接
});

//修改记录,args:conditions, update, options, callback
userModel.update({userName: 'model_demo_username'}, {
    $set: {
        age: 27,
        title: 'model_demo_title_update'
    }
}, {upsert: false}, function (err) {
    if (err) {
        console.log(err);
    } else {
        console.log("update ok");
    }
    db.close();
});

//查询,基于实例方法的查询
userEntity.findByUserName('model_demo_username', function (err, result) {
    if (err) {
        console.log(err);
    } else {
        console.log(result);
    }
    db.close();
});

//查询,基于静态方法的查询
userModel.findByTitle('model_demo_title', function (err, result) {
    if (err) {
        console.log(err);
    } else {
        console.log(result);
    }
    db.close();
});

//查询,args:criteria, fields, options, callBack
userModel.find({title: 'entity_demo_title'}, {title: 1, content: 1, time: 1}, function (err, result) {
    if (err) {
        console.log(err);
    } else {
        console.log(result);
    }
    db.close();
});

//删除记录
userModel.remove({userName: 'entity_demo_username'}, function (err, result) {
    if (err) {
        console.log(err);
    } else {
        console.log('delete ok');
    }
    db.close();
});

 

本文转载自:http://www.cnblogs.com/vipzhou/p/4857631.html

共有 人打赏支持
c
粉丝 1
博文 108
码字总数 0
作品 0
西安
程序员
Node.JS -- Mongoose 快速入门

Mongoose时一个用于异步环境的MongoDB的对象模型。 前提条件 先确保本地已经安装了Node.js和一个可以连接上的MongoDB。 安装Mongoose Mongoose和其他的依赖模块一样安装,使用npm 命令: 连接...

米阳MeYoung
06/04
0
0
nodejs开发——mongodb数据库入门

当你还在为开发Nodejs使用哪种数据库而犹豫时,那就选择mongodb吧。在nodejs中操作mongodb非常方便,mongodb天然的支持JSON,增删改查都非常简单。本篇博客主要来实现在nodejs中使用mongodb...

chenyufeng1991
2017/02/02
0
0
mongodb安裝及初相识(node,使用mongoose )

官网 https://www.mongodb.com/ 下载安装mongodb https://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/ 安装到最后一步时,将左下角的勾选去掉,那个勾选是安装图形化界面...

天上月丶
05/03
0
0
Node后台|数据库的安装及使用(简版)

MAC 安装mongoDB 启动 mongoDB 判断mongoDB是否已经开启 关闭 mongoDB的服务 mongodb启动成功后会显示 然后我们去看看node如何连接mongodb node 连接mongoDB需要用到 mongoose 如果连接成功的...

贝一平
05/30
0
0
Express + Mongoose 极简入门

Express + Mongoose 极简入门 今天尝试使用express + mongoose,构建了一个简单的Hello world,实现以下功能: 定义mongodb使用的Schema,一个User 访问/输出Hello world 访问/init向mongodb...

maweitao
2014/04/11
0
4
在BAE中使用mongoose操作mongodb

在BAE中使用mongoose操作mongodb 几乎网上所有的使用mongoose的例子都是长连接的方式,因为nodejs本身机制的关系,使用长连接一定程度上会提高性能,但是bae的免费mongodb不支持长链接,之前...

假正经哥哥
2014/10/11
0
2
让json数据直接入库mongodb注意事项

最近在学node,跟着一篇博文写一个json数据入库mongodb的小demo。项目中使用的是express3框架,照着博文代码敲完跑起来后,发现在dao层调用save方法时发生了ValidationError:Movie validat...

小草先森
05/07
0
0
MongooseJS 5.1.5 发布,MongoDB 连接包

MongooseJS 5.1.5 发布了。MongooseJS 是使用 JavaScript 编程,连接 MongoDB 数据库的软件包,使 MongoDB 的文档数据模型变的优雅起来,方便对 MongoDB 文档型数据库的连接和增删改查等常规...

达尔文
06/12
0
0
mongoDB 学习笔记纯干货(mongoose、增删改查、聚合、索引、等等)

最后更新时间:2017-07-13 11:10:49 原始文章链接:http://www.lovebxm.com/2017/07/13/mongodb_primer/ MongoDB - 简介 官网:https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的...

Airship
06/01
0
0
Mongoose 4.13.14 发布,MongoDB 异步对象模型工具

Mongoose 4.13.14 发布了,此次更新修复了一个 bug: fix(model): 在 findOneAndUpdate() 中处理 retainKeyOrder 选项 #6484 详情见更新日志。 Mongoose 是在 node.js 异步环境下对 MongoDB ...

h4cd
05/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

设计神器 - 摹客设计系统上线了 | 晒出你的设计规范,赢iPad Pro!

在国内,设计规范也许还是个不太常用的概念,但是如果你正好有参与互联网公司的产品设计,你应该早就已经体会到设计规范的重要性了。UI设计师总是要花费大量的时间和精力向开发描述一大堆设计...

mo311
7分钟前
0
0
Thymeleaf 使用过程中的一些记录

Thymeleaf格式化时间: th:value="${#dates.format(gw.regDT,'yyyy-MM-ddHH:mm:ss')}" Thymeleaf select反选: <select id="status" name="status" th:field="${gw.status}" th:value="${gw.......

惊尘大人
9分钟前
0
0
istio源码分析之pilot-discovery模块分析

本文分析的istio代码版本为0.8.0,commit为0cd8d67,commit时间为2018年6月18日。 本文为Service Mesh深度学习系列之一: Service Mesh深度学习系列part1—istio源码分析之pilot-agent模块分...

xiaomin0322
15分钟前
0
0
数据库基本操作:增删改查及联表操作

所用软件:SQL Server Management Studio 首先第一步,建立一个表。在这里命名为T1。并在里面填入几条数据。如图: T1 一.查询 查询所有:select * from T1; 按条件查询:select * from T1 ...

小_橙_子
19分钟前
0
0
Crontab作业时间设置

今天,遇到这么一个题目,周一到周五的9:00-16:59之间,每隔两分钟将某个命令运行一次。给的答案是: */2 9-16 * * 1-5 /usr/sbin/somecommand dosomething 乍一看,这个答案不对,应...

大别阿郎
23分钟前
0
0
ES17-JAVA API文档管理

1.保存文档 可以通过json工具把java对象转换成json字符串进行保存,也可以通过内置的帮助类直接构建json格式 /** * 获取客户端 * * @return */public static TransportClie...

贾峰uk
24分钟前
0
0
Python代码规范和命名规范

前言 Python 学习之旅,先来看看 Python 的代码规范,让自己先有个意识,而且在往后的学习中慢慢养成习惯 一、简明概述 1、编码 如无特殊情况, 文件一律使用 UTF-8 编码 如无特殊情况, 文件头...

blackfoxya
27分钟前
0
0
联动滑动之一:NestScrollChild和NestedScrollingParent

NestScrollChild和NestedScrollingParent 吐槽一下开源中国竟然标题字数有限制 由于项目中使用了CoordinateLayout来解决联动以及实现炫酷的UI效果,那么必须就要研究一波源码了,毕竟知其然知...

JerryLin123
44分钟前
1
0
cloudera spark2.2 读写hbase

cloudera spark2.2 读写hbase 例子 host = 'bigdata-03,bigdata-05,bigdata-04'conf = { "hbase.zookeeper.quorum": host, "hbase.mapreduce.inputtable": "student1"}k......

osenlin
49分钟前
0
0
数据库规范化

转载自 一个小时学会MySQL数据库 地址:http://www.cnblogs.com/best/p/6517755.html 截取其中 1.4 部分 用于自己学习使用 感谢作者:张果 1.4、数据库规范化 经过一系列的步骤,我们现在终于...

十万猛虎下画山
49分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部