zoukankan      html  css  js  c++  java
  • 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); //打印查询到的数据
    });
  • 相关阅读:
    BZOJ2144跳跳棋——LCA+二分
    BZOJ[Usaco2017 Jan]Promotion Counting——线段树合并
    BZOJ4551[Tjoi2016&Heoi2016]树——dfs序+线段树/树链剖分+线段树
    BZOJ1559[JSOI2009]密码——AC自动机+DP+搜索
    BZOJ1222[HNOI2001]产品加工——DP
    [IOI2018]狼人——kruskal重构树+可持久化线段树
    BZOJ3091城市旅行——LCT区间信息合并
    Link-Cut Tree(LCT)&TopTree讲解
    BZOJ3669[Noi2014]魔法森林——kruskal+LCT
    BZOJ4530[Bjoi2014]大融合——LCT维护子树信息
  • 原文地址:https://www.cnblogs.com/yz-blog/p/7778224.html
Copyright © 2011-2022 走看看