node操作mongoDB 入门

首先下载mongoDB包

npm install mongodb

需求

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

链接地址

var url = 'mongodb://127.0.0.1:27017/ceshi';

连接数据库

MongoClient.connect(url, function(err, db) {//连接数据库
  assert.equal(null, err);
  console.log("正确地连接到服务器。");
    /*可选执行*/
    /*执行插入*/
    // insertDocument(db,function(){
    //   db.close();
    // });
    /*执行查询*/
    // findRestaurants(db, function() {
    //     db.close();
    // });
    /*更新*/
    // updateRestaurants(db, function() {
    //     db.close();
    // });
    /*删除文档*/
    // removeRestaurants(db, function() {
    //     db.close();
    // });
    /*删除集合*/
    dropRestaurants(db, function() {
        db.close();
    });
});

增查改删

var insertDocument = function(db, callback) {//把数据插入集合,如果没有集合就创建集合
    db.collection('user').insertOne( {
        "name" : "hanzi@xx.com",
        "password" : "12345566"
    }, function(err, result) {
        assert.equal(err, null);
        console.log("文档插入user集合。");
        callback();
    });
};
//insert  插入文件集合
/*
var a = [
    {
        "name" : "1@xx.com",
        "password" : "12345566"
    },
    {
        "name" : "2@xx.com",
        "password" : "12345566"
    },
    {
        "name" : "3@xx.com",
        "password" : "12345566"
    }
]
var insertDocument = function(db, callback) {//把数据插入集合,如果没有集合就创建集合
    db.collection('user').insert( a, function(err, result) {
        assert.equal(err, null);
        console.log("文档插入user集合。");
        callback();
    });
};
*/

var findRestaurants = function(db, callback) {//查找集合
    /*字段查询*/
    //var cursor =db.collection('user').find( );//所有文档查询
    //var cursor =db.collection('user').find( { "name": "hanzi@xx.com" } );//数据最外层查询(顶级域)
    //var cursor =db.collection('user').find( { "address.zipcode": "10075" } );//文档内部字段的查询
    //var cursor =db.collection('user').find( { "grades.grade": "B" } );//数组中的字段查询
    /*运算符,逻辑符等文档https://docs.mongodb.org/manual/reference/operator/query/*/
    /*运算符查询*/
    //var cursor =db.collection('user').find( { "grades.score": { $gt: 30 } } );//大于运算符
    //var cursor =db.collection('user').find( { "grades.score": { $lt: 10 } } );//小于运算符
    /*逻辑查询*/
    //var cursor =db.collection('user').find( { "cuisine": "Italian", "address.zipcode": "10075" } );//逗号代表逻辑和(且)
    //var cursor =db.collection('user').find( { $or: [ { "cuisine": "Italian" }, { "address.zipcode": "10075" } ] } );//或
    /*排序查询*/
    var cursor =db.collection('user').find().sort( { "_id": -1} );//升1,降-1
    cursor.each(function(err, doc) {
       assert.equal(err, null);
       if (doc != null) {
             //console.dir(doc);
          console.log(doc)
       } else {
          callback();
       }
    });
};

var updateRestaurants = function(db, callback) {
    /*从顶级域更新*/
   // db.collection('restaurants').updateOne(
   //    { "name" : "Vella" },
   //    {
   //      $set: { "cuisine": "American (New)" },
   //      $currentDate: { "lastModified": true }
   //    }, function(err, results) {
   //    console.log(results);
   //    callback();
   // });
    /*从内部更新*/
    db.collection('user').updateOne(
        { "name" : "123@xx.com" },
        { $set: { "name": "15648798@xx.cn" } },
        function(err, results) {
        console.log(results);
        callback();
    });
    /*多个文件更新*/
    // db.collection('user').updateMany(
    //     { "password": "12345566"},
    //     {
    //         $set: { "password": "23333" }
    //     }
    //     ,
    //     function(err, results) {
    //         console.log(results);
    //         callback();
    // });
    /*替换文件*/
    // db.collection('restaurants').replaceOne(
    //     { "restaurant_id" : "41704620" },
    //     {
    //         "name" : "程"
    //     },
    //     function(err, results) {
    //         console.log(results);
    //         callback();
    // });
};

删除文档
var removeRestaurants = function(db, callback) {
    /*删除多个文档*/
    // db.collection('restaurants').deleteMany(
    //     { "borough": "Manhattan" },
    //     function(err, results) {
    //         console.log(results);
    //         callback();
    //     }
    // );
    /*删除单个文档*/
    // db.collection('restaurants').deleteOne(
    //     { "borough": "Manhattan" },
    //     function(err, results) {
    //         console.log(results);
    //         callback();
    //     }
    // );
    /*删除全部文档*/
    db.collection('restaurants').deleteMany( {}, function(err, results) {
        console.log(results);
        callback();
    });

};
删除集合
var dropRestaurants = function(db, callback) {
    db.collection('restaurants').drop( function(err, response) {
        console.log(response)
        callback();
    });
};
?node实现聊天室功能
浏览器touch兼容方法?
上一篇:node实现聊天室功能
下一篇:浏览器touch兼容方法
评论

如果我的文章对你有帮助,或许可以打赏一下呀!

支付宝
微信
QQ