node操作mongdb的常用函数示例

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); //打印查询到的数据
});
原文地址:https://www.cnblogs.com/yz-blog/p/7778224.html