您的位置:首页 > 数据库 > Mongodb

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

2017-08-29 09:24 686 查看
/*
* 在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();
}
});
});
}
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: