美文网首页
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