Node.js简单操作MongoDB(CRUD)
首先介绍一下执行环境,node.js是必须要安装的,另外本文使用的是mongoose模块,由于链接的是本地数据库,所以本文例子运行本地的MongoDB,需要另外安装,如果连的是网上的,可以不用本地装MongoDB。另外,express不是必须的。
运行版本(node v5.11.0 + mongoose ^4.4.20)
准备
安装模块后第一件事就是引用,首先,在node入口(如app.js,下面所有代码都放在这个文件内)引入mongoose模块并打开连接
var mongoose = require('mongoose');
var db =mongoose.createConnection('localhost','test');
//上条字段"test"可以不用改,因为安装mongoDB时自带这个数据库
另外需要注意的是,mongoose连接的时候有createConnection和connect两个不同的方法,具体区别可以在网上查,本文就不罗嗦了。
接下来,要写schema,model,他们的作用边写边说。紧接上条代码,先写schema
var usersSchema = new mongoose.Schema({name:String,age:Number}); //注意大小写哦
如你看到的,Schema的作用是可以用来定义UsersSchema的格式,当然你可以在插入数据的时候添加额外的字段,例如sex,只不过如果你插入age的时候插入了字符串,这条记录就会插入失败。(可是name插入Number的时候会被转化为String并插入成功)
然后就是model
var usersModel = db.model('users',usersSchema);
//第一个参数对应MongoDB的collection名(类似关系型数据库table名),第二个参数传入mogoose.schema
接下来,可以开始CRUD了!
插入
插入有两种方式,第一种是在model上使用create(doc,callback)直接插入,第二种是从model中实例化一个entity使用save(callback)出来插入,分别如下,请注意参数:
//方法一:model上使用create(doc,callback)
var doc={name:"myName",age:18};
usersModel.create(doc,