node mongodbClient

//@author WangSir

var MongoClient = require('mongodb').MongoClient;

var uri = "mongodb://localhost:27017/runoob";
MongoClient.connect(uri, function(err, db) {
    //insert
    // insertDocument(db, function() {
    //     db.close();
    // });

    //select
    // findRestaurants(db, function() {
    //     db.close();
    // });

    //update
    updateRestaurants(db, function() {
        db.close();
    });
});

//insert
var insertDocument = function(db,callback){
    db.collection('runoob01').insertOne(
        {
            "address" : {
                "street" : "2 Avenue",
                "zipcode" : "10075",
                "building" : "1480",
                "coord" : [ -73.9557413, 40.7720266 ]
            },
            "borough" : "Manhattan",
            "cuisine" : "Italian",
            "grades" : [
                {
                    "date" : new Date("2014-10-01T00:00:00Z"),
                    "grade" : "A",
                    "score" : 11
                },
                {
                    "date" : new Date("2014-01-16T00:00:00Z"),
                    "grade" : "B",
                    "score" : 17
                }
            ],
            "name" : "Vella",
            "restaurant_id" : "41704620"
        }, function(err, result) {
            console.log("Inserted a document into the restaurants collection.");
            callback();
        }
    )
}

//select
var findRestaurants = function(db, callback) {
    var cursor =db.collection('runoob01').find( );
    // var cursor =db.collection('runoob01').find( { "borough": "Manhattan" });
    // var cursor =db.collection('runoob01').find( { "address.zipcode": "10075"});
    // var cursor =db.collection('runoob01').find( { "grades.grade": "B" });
    // 大于
    // var cursor =db.collection('runoob01').find( { "grades.score": { $gt: 30 } } );
    // 小于
    // var cursor =db.collection('runoob01').find( { "grades.score": { $lt: 10 } } );
    // AND 运算
    // var cursor =db.collection('runoob01').find(
    //     { "cuisine": "Italian", "address.zipcode": "10075" }
    // );
    // OR 运算
    // var cursor =db.collection('runoob01').find(
    //     { $or: [ { "cuisine": "Italian" }, { "address.zipcode": "10075" } ] }
    // );
    // sort方法用于排序,1代表升序,-1代表降序。
    // var cursor =db.collection('runoob01').find().sort( { "borough": 1, "address.zipcode": 1 } );

    cursor.each(function(err, doc) {
        if (doc !== null) {
            console.dir(doc);
        } else {
            callback();
        }
    });
};

//update(单个字段用updateOne,多个字段用updateMany,替换整个文档replaceOne)
var updateRestaurants = function(db,callback){
    db.collection('runoob01').updateOne(
        { "name" : "Vella" },
        {
            $set: { "cuisine": "china" },
            $currentDate: { "lastModified": true }
        }, function(err, results) {
            console.log(results);
            callback();
        });
};

//delete(删除单个用deleteOne,多个用deleteMany)
var removeRestaurants = function (db,callback){
    db.collection('runoob01').deleteOne(
        { "borough": "Queens" },
        function(err, results) {
            console.log(results);
            callback();
        }
    );
}

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值