关闭

nodejs 操作mongodb插查删改

312人阅读 评论(0) 收藏 举报
分类:

var DBUtil=function(mess,name,from){
<span style="white-space:pre">	</span>this.mess=mess;<span style="white-space:pre">	</span>
<span style="white-space:pre">	</span>this.from=from;
<span style="white-space:pre">	</span>this.name=name;
}


DBUtil.prototype.setMess=function(mess){
<span style="white-space:pre">	</span>this.mess=mess;
}
DBUtil.prototype.setFrom=function(from){
<span style="white-space:pre">	</span>this.from=from;
}
DBUtil.prototype.setName=function(name){
<span style="white-space:pre">	</span>this.name=name;
}


DBUtil.prototype.insert=function(db,collection){
<span style="white-space:pre">	</span>var data={name:this.name,unread:[{from:this.from,mess:[this.mess]}]};
<span style="white-space:pre">	</span>console.log(data);
<span style="white-space:pre">	</span>db.collection(collection,function(err, collection) {
        collection.insert(data, function(err, docs) {
            if (err) {
                console.log(err);
                return;
            }
        });
    });
}
DBUtil.prototype.update=function(db,collection){
    var name=this.name;
    var from=this.from;
    var mess=this.mess;
    var query={name:name,'unread.from':from};
    var data={'unread.$.mess':mess};
    console.log(this.mess);
<span style="white-space:pre">	</span>db.collection(collection,function(err, collection) {
        collection.update(query,{$push:data},{upsert:true}, function(err, docs) {
            if (err) {
                console.log(err);
                return;
            }
            if(!docs){
                query={name:name};
                data={unread:{from:from,mess:[mess]}};
                console.log(mess);
                collection.update(query,{$push:data},function(err, docs) {
                    if (err) {
                        console.log(err);
                        return;
                    }
                   
                });
            }
        });
    });
}
DBUtil.prototype.getUnRead=function(db,collection,callback){
<span style="white-space:pre">	</span>var query={name:this.name};
<span style="white-space:pre">	</span>db.collection(collection,function(err, collection) {
        collection.find(query).toArray(function(err,docs){
        <span style="white-space:pre">	</span>callback(docs);
        });    
    });
   
}
DBUtil.prototype.remove=function(db,collection,callback){
    var query={name:this.name};
    db.collection(collection,function(err, collection) {
        collection.remove(query,function(error){
            if (err) {
                console.log(err);
                return;
            }
        });
    });
   
}
var dbutil=new DBUtil();
module.exports=dbutil;


对应json格式,_id不包含:

{
    "name": "test",
    "unread": [
        {
            "from": "test1",
            "mess": [
                "这是第一条",
                "这是第二条",
                "这是第三条"
            ]
        },
        {
            "from": "test2",
            "mess": [
                "这是第一条",
                "这是第二条",
                "这是第三条"
            ]
        }
    ]
}

逻辑并不难,难的是语法。。基础比较薄弱

update中,表示不存在则插入

{upsert:true, w: 1}

下载地址:http://download.csdn.net/detail/zbuger/8888039

0
0
查看评论

顺序表上进行增,删,查,改操作,C++实现

顺序表上进行增,删,查,改操作,C++实现
  • woaijianjiandandande
  • woaijianjiandandande
  • 2016-10-18 23:05
  • 795

nodejs操作mongodb数据库(mongodb)

准备 通过npm命令安装mongodb 安装mongodb数据库,这里不详细介绍了,网上一堆 关于版本 mongodb@2.2.10 nodejs v4.6.0 MongoDB数据库 3.2版本 CRUD操作 在此之前应对Mongodb数据库有所了解,知道它的一些增删查改命令。...
  • zxc123e
  • zxc123e
  • 2016-11-25 15:13
  • 6264

nodejs连接mongodb示例,实现对数据的增删改查操作(跳过不必要的坑) Windows版

第一步:安装nodejs 1.官网下载 版本:nodejs v6.9.2(对应npm v3.10.9)下载地址:https://nodejs.org/dist/ 2.详细安装步骤,请参考https://www.cnblogs.com/sese/p/5182783.html 第二步:安装mongo...
  • wangyunbo158
  • wangyunbo158
  • 2017-12-08 16:28
  • 309

nodejs操作mongodb数据库(mongoose)

准备在上一篇的基础上,通过npm安装mongoose。关于mongooseMongoose是MongoDB的一个对象模型工具,是基于node-mongodb-native开发的MongoDB nodejs驱动,可以在异步的环境下执行。同时它也是针对MongoDB操作的一个对象模型库,封装了Mongo...
  • zxc123e
  • zxc123e
  • 2016-11-25 16:35
  • 3532

Nodejs操作MongoDB数据库示例

//mongodb_demo.js/** cnpm install mongodb */var MongoClient = require('mongodb').MongoClient; var DB_CONN_STR = 'mongodb://test:123456@12...
  • pukuimin1226
  • pukuimin1226
  • 2017-06-17 11:51
  • 976

基于NodeJS的MongoDB数据库的动态创建

通常我们都是对某一个已经存在的数据库进行增、删、改、查操作,那当该数据库尚未被创建的时候,我们怎样动态地新增相应的数据库呢(例如每当创建一个新用户时,就创建一个与之相对应的数据库)?请看下面的代码: var mongodb = require('mongodb'); var Mon...
  • venchia_lu
  • venchia_lu
  • 2015-04-08 09:39
  • 2108

nodejs mogodb 通过_id查找数据处理

如果用nodejs通过_id查找 mogodb的数据 ,就必须再引入 一个对象,就是mogodb的ObjectId对象 var ObjectID = require('mongodb').ObjectID;这样,在代码里面就可以用了 collection.find({_id:Obje...
  • qq_30100043
  • qq_30100043
  • 2016-10-21 18:10
  • 1077

自己封装的mongodb操作的模块

[注]:这些代码都是基于nodejs进行的. 在nodejs目录下创建一个模块文件*.js,以便调用, 以下是模块代码:function mongodbModel(dbname,dataform) { var MongoClient; var DB_CONN_STR; t...
  • xxhdcblogzh888
  • xxhdcblogzh888
  • 2017-07-19 15:27
  • 344

MEAN全栈开发:使用NodeJS和MongoDB创建REST服务

http://gocwind.com/blog/2015/06/09/creating-a-restful-api-tutorial-with-nodejs-and-mongodb/ 本教程介绍如何使用Node.js (Express.js) 和MongoDB (mongoos...
  • SalmonellaVaccine
  • SalmonellaVaccine
  • 2016-07-12 16:59
  • 1711

node.js对mongodb的一些操作

本人是个初学者,这里只谈下我的理解,和一些操作方式,希望对初学者有用。 常用的操作有插入,删除,查找,更新。 插入: db.things.insert(json,{},function(err){}) //json为你要插入的数据。 删除: db.things.remove({name:"...
  • u012074778
  • u012074778
  • 2013-09-10 23:21
  • 324
    个人资料
    • 访问:160958次
    • 积分:2854
    • 等级:
    • 排名:第14704名
    • 原创:102篇
    • 转载:215篇
    • 译文:0篇
    • 评论:13条
    最新评论