美文网首页
Node.js操作Mongodb

Node.js操作Mongodb

作者: 杨慧莉 | 来源:发表于2017-04-25 17:27 被阅读0次

    插入数据

    • 插入多条数据
    //要操作的数据库的url,数据库名为test
    var url='mongodb://localhost:27017/test';    
    var insert_many = (db, callback)=> {
       const collection=db.collection("users");  //连接到数据库下的"users" collection
        const data=[{name:"Look",age:"45"},
            {name:"Rose",age:"27"}];
    //insertMany()为操作数据库的API
        collection.insertMany(data,(err,result)=>{
            if(err){
                console.log("ERROR");
            }else{
                callback(result);
            }
        });
    };
    
    //连接数据库
    MongoClient.connect(url, (err,db)=> {
        console.log("连接成功!");
        insert_many(db,(result)=>{
            console.log("成功插入多条数据");
        });
    });
    
    • 删除数据
    var url='mongodb://localhost:27017/test';  
    var delete_one=(db,callback)=>{
        const collection=db.collection("users");
        collection.deleteOne({name:"Rose"},(err,result)=>{
            if(err){
                console.log("ERROR");
            }else{
                callback(result);
            }
    
            db.close();
        })
    };
    
    MongoClient.connect(url, (err, db)=> {
           console.log("连接成功!");
           delete_one(db,(result)=>{
               console.log(result);
           });
    });
    

    具有删除功能的API还有deleteMany,区别是:
    deleteOne()只会删除查找到的第一条符合条件的数据
    deleteMany()会删除所有查找到的符合条件的数据

    • 修改数据
    var url='mongodb://localhost:27017/test';  
    var update_one=(db,callback)=>{
        const collection=db.collection("users");
        collection.updateOne({name:"Rose"},{$set:{age:"30"}},(err,result)=>{
            if(err){
                console.log("ERROR");
            }else{
                callback(result);
            }
    
            db.close()
        });
    };
    
    
    MongoClient.connect(url,(err,db)=>{
        console.log("连接成功");
        update_one(db,(result)=>{
            console.log(result);
        });
    });
    

    具有修改功能的API还有updateMany(),区别和上边类似,updateOne()是修改一条数据,而updateMany()是修改所有数据

    • 查找数据
    //查找一条数据
    var url='mongodb://localhost:27017/test';  
    var find_one = (db, callback)=> {
           const collection=db.collection("users");
           collection.findOne({name:"Bob"},(err,result)=>{
               if(err){
                   console.log("ERROR");
               }else{
                   console.log("查找成功");
                   callback(result);
               }
               db.close();
           })
    };
    MongoClient.connect(url, (err, db)=> {
        console.log("连接成功!");
        find_one(db,(result)=>{
          console.log(result);
        });
    });
    
    //查找所有数据
    const find_all=(db,callback)=>{
        const collection=db.collection("users");
        //查找 users 文档中的所有数据
        collection.find({}).toArray((err,result)=>{
            if(err){
                console.log("ERROR");
            }else{
                console.log(" callback before");
                callback(result);
                console.log("callback after");
            }
        });
    };
    
    MongoClient.connect(url,(err,db)=>{
        //连接到表 users
        console.log("连接成功!");
        find_all(db,(result)=>{
          console.log(result.length);
            for(var i=0;i<result.length;i++){
                console.log(result[i]);
            }
            db.close();
        });
    });
    
    

    本篇文章是Node.js操作数据库的简单用法,随后还会有补充。
    更多示例请点这里

    参考资料:

    相关文章

      网友评论

          本文标题:Node.js操作Mongodb

          本文链接:https://www.haomeiwen.com/subject/jzwvzttx.html