var mongodb = require('mongodb');
var server = new mongodb.Server("localhost",27017,{});
var conn = new mongodb.Db('test',server,{});
conn.open(function(err,client){
if(err) throw err;
var collection = new mongodb.Collection(client,'user');
//查询 select
collection.find({},{limit:3}).toArray(function(err,docs){
console.dir(docs);
});
//插入数据 insert
//insert(docs,options[, callback]);options:当要使用回调函数时safe:true
collection.insert({name: 'xiuxiu',sex:'woman'}, {safe:true},
function(err, objects) {
if (err) console.warn(err.message);
if (err && err.message.indexOf('E11000 ') !== -1) {
// this _id was already inserted in the database
}
});
//更新数据 update $inc,$set,$unset,$push,$pushAll,$addToSet and $each,$pop,$pull,$pullAll,$rename,$bit
// update(criteria(where),objNew(更新数据),upsert,multi(true更新所有匹配的文档--行))
collection.update({name:'yeshiwen'},{$unset:{sex:1}},{safe:true},
function(err){
if(err) console.warn(err.message);
else console.log('Successfully updated.');
}
);
//查找并更改 findAndModify
//collection.findAndModify(query, sort, update, options, callback)
//collection.findAndModify(限制条件where, 升序或降序, 更新数据, {remove:true(返回之前就删除对象),new:true(返回已更改的对象),upsert:true(匹配的不存在,就创建并插入数据)}, 回调函数)
collection.findAndModify({name: 'chenyibing'}, [['_id','asc']], {$set: {hi: 'there'}}, {},
function(err, object) {
if (err) console.warn(err.message);
else console.dir(object); // 如果匹配不存在object就为undefined
});
});