美文网首页
Node+MongoDB笔记

Node+MongoDB笔记

作者: 奔跑在春风里 | 来源:发表于2016-12-19 17:57 被阅读0次

    mongobooster 可视化工具
    linux命令

    cd bin    //进入到bin目录
    ./mongo   //启动mongod的命令行
    use mydb  //切换到mydb数据库下
    db.auth('username','password') //根据用户名和密码授权
    //返回 0 失败; 返回 1 成功
    

    node 链接 mongodb

    npm install mongodb --save
    connect到数据库后,可以不close,一直处于连接状态

    var MongoClient = require('mongodb').MongoClient, assert = require('assert');
    //链接到带用户名密码的db数据库
    var url = "mongodb://useName:passWord@IpAddress:port/dbName";
    MongoClient.connect(url, function (err, db) {
        assert.equal(null, err);
        console.log("Connected successfully to server");    
        //db.close(); connect到数据库后,可以不close,一直处于连接状态
    });
    

    插入数据

    //连接到名为mydb的数据库上
    var collection = db.collection('mydb');
    var insertData = { 'key': 'okok' }
    collection.insert(insertData, function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            console.log('成功')
        }
    })
    

    查询匹配的数据

    var collection = db.collection('mydb');
    var findData = { 'key': 'okok' }
    collection.find(findData).toArray(function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            //返回一个符合条件的数组
            console.log(result)
        }
    })
    

    查询匹配多个属性的数据

    var collection = db.collection('mydb');
    var findData = { 'username': 'okok' ,'password':'9876'}
    collection.find(findData).toArray(function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            //返回一个符合条件的数组
            console.log(result)
        }
    })
    

    查询数据的某一个属性

    //查询 user下的age属性是否等于16
    var collection = db.collection('mydb');
    collection.find({"user.age":16}).toArray(function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            //返回一个符合条件的数组
            console.log(result)
        }
    })
    

    修改某个数据的属性

    数据结构为
    {
        user: {
            userName:'jeff'
        },
        data{
            age:26
        }
    }
    要把26改为72
    var collection = db.collection('mydb');
    var whereData= { 'user.userName': 'jeff' }//查找源
    var updateDate={$set:{'data.age':72}}//替换的内容
    collection.update(whereData,updateDate, function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            console.log('成功')
        }
    })
    

    删除数据
    把符合查找条件的数据,全都删除

    var collection = db.collection('mydb');
    var whereData = { 'key': 'okok' }
    collection.removeData(whereData ).toArray(function (err, result) {
        if (err) {
            console.log('Err:' + err);
        } else {
            //返回一个符合条件的数组
            console.log(result)
        }
    })
    

    过滤查询结果

    //查询的结果会把所有的数据全部显示出来
    collection.find({"data.age":16}).toArray(function (err, result) {})
    
    //返回的结果中只有user.userName ,1为显示,0为不显示,默认为0
    collection.find({"data.age":16},{'user.userName':1}).toArray(function (err, result) {})
    
    //_id是默认显示的,改为0就不显示了
    collection.find({"data.age":16},{'user.userName':1,'_id':0}).toArray(function (err, result) {})
    
    
    

    相关文章

      网友评论

          本文标题:Node+MongoDB笔记

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