node.js学习mongoDB驱动——查询数据

来源:互联网 发布:如何修改网站数据库 编辑:程序博客网 时间:2024/05/17 13:40
/* * 在MongoDB数据库中查询数据 * */var mongo = require('mongodb');var host = 'localhost';var port = 27017;var server = new mongo.Server(host,port,{auto_reconnect:true});var db = new mongo.Db('node-mongo-examples',server,{safe : true});db.open(function (err, db) {    db.collection('user',function (err, collection) {        if(err)            throw err;        else {            //查询文档            //collection.find(selector,[options]).toArray(callback)            //selector为一个对象,代表查询条件            collection.find({}).toArray(function (err, docs) {               if(err)                   throw err;               else {                   console.log(docs);                   db.close();               }            });        }    });});

运行结果:



/* * 1、可以在查询条件中指定需要查询的字段及字段值: *      {< 字段名 >:< 字段值 >} * 2、可以在查询条件中指定需要查询的字段并限定字段范围 *      {<字段名>:[$in : <字段值1>,<字段值2>...]} *//*插入数据*/var mongo = require('mongodb');var host = 'localhost';var port = 27017;var server = new mongo.Server(host,port,{auto_reconnect:true});var db = new mongo.Db('node-mongo-examples',server,{safe : true});var docs = [{type:'food',price:11},            {type:'food',price:10},            {type:'food',price:9},            {type:'food',price:8},            {type:'book',price:9}];db.open(function (err, db) {   db.collection('goods',function (err, collection) {       collection.insert(docs,function (err, docs) {           console.log(docs);       });   });});
查询数据:

/*"且"和"或"的查询*/var mongo = require('mongodb');var host = 'localhost';var port = 27017;var server = new mongo.Server(host,port,{auto_reconnect:true});var db = new mongo.Db('node-mongo-examples',server,{safe : true});db.open(function (err, db) {    if(err)        throw err;    else {        db.collection('goods',function (err, collection) {                //查找goods集合中type字段等于“food”,且  price字段值小于10的数据            //collection.find({type:'food',price:{$lt:10}}).toArray(function (err, docs) {                //查找goods集合中type字段等于“food”  或者  price字段值小于10的数据            //collection.find({ $or: [{type:'food'} , {price:{$lt:10}}] }).toArray(function (err, docs) {                //查找goods集合中type字段等于"food" 且 price字段值等于11 或者 price字段值小于9的数据            collection.find({type:'food',$or:[{price:11},{price:{$lt:9}}]}).toArray(function (err, docs) {                if(err)                    throw err;                else{                    console.log(docs);                    db.close();                }            });        });    }});



原创粉丝点击