node操作mongdb的常用函数示例
链接数据库
var mongoose = require('mongoose'); //引用数据库模块mongoose.connect('mongodb://localhost:27018/yzblog'); //链接数据库var db = mongoose.connection;db.on('error', console.error.bind(console, 'connection error:'));db.once('open', function() { console.log('数据库已打开!');})
/***************创建数据库模型********************/
var schema = new mongoose.Schema({ name: String }); //建表var Page = mongoose.model('Page', schema); //创建模型
/***************增加数据记录********************/
//方法一var p = new Page({ name: '张三' }); //给对象赋值p.save(); //保存进数据库中//方法二Page.create({ name: '张三' }, function(err, small) { if (err) return handleError(err); //console.log(small);//被插入的数据})
/***************删除数据记录********************/
//方法一Page.remove({ name: 'fads' }).then(function(data) { //console.log(data); //返回result对象,n:删除记录数量,ok:表示删除成功,永远是1});//方法二Page.remove({ name: '张三' }, function(err, small) { if (err) return handleError(err); //console.log(small); //被插入的数据 //返回result对象,n:删除记录数量,ok:表示删除成功,永远是1});
/***************修改数据记录********************/
//方法一Page.findById('59fc0088e6b8591414108570', function(err, Page) { if (err) return handleError(err); Page.name = '王五'; Page.save(function(err, Page) { if (err) return handleError(err); //console.log(Page); //返回被修改的记录 });});//方法二Page.update({ _id: '59fc0088e6b8591414108570' }, { $set: { name: '王五被修改了' } }, function(err, Page) { //console.log(Page); //返回被修改的条数及状态(返回内容相对简单)});//方法三Page.findByIdAndUpdate('59fc06b7c36c81229cfdf940', { $set: { name: 'large' } }, { new: true }, function(err, Page) { if (err) return handleError(err); //console.log(Page); //返回被修改的记录(完整)});
/***************查询数据记录********************/
//查询全部数据Page.find().then(function(data) { //console.log(data); //打印查询到的数据});//查询指定数据Page.find({ name: '张三' }).then(function(data) { //console.log(data); //打印查询到的数据});//查询三Page.findOne({ name: '张三' }).then(function(data) { console.log(data); //打印查询到的数据});