Bạn muốn kiểm tra tài liệu để cập nhật.
http://www.mongodb. org / display / DOCS / Đang cập nhật
Mã của bạn có thể giống như sau:
db.tbl.update( { c:{$ne:0}}, { $set: { a : b } } );
Nếu bạn cần tìm hiểu các truy vấn nâng cao (ví dụ:sử dụng $ne
), sau đó kiểm tra tại đây:
http://www.mongodb.org / display / DOCS / Advanced + Queries
CHỈNH SỬA:
Rõ ràng là bạn không thể cập nhật dữ liệu từ cùng một tài liệu.
MongoDB:Cập nhật tài liệu bằng cách sử dụng dữ liệu từ cùng một tài liệu
CHỈNH SỬA 2 (giải pháp với thu nhỏ bản đồ) :
var c = new Mongo();
var db = c.getDB('db')
var s = db.getCollection('s')
s.drop();
s.save({z:1,q:5});
s.save({z:11,q:55});
db.runCommand({
mapreduce:'s',
map:function(){
var i = this._id; //we will emit with a unique key. _id in this case
this._id=undefined; //strange things happen with merge if you leave the id in
//update your document with access to all fields!
this.z=this.q;
emit(i,this);
},
query:{z:1}, //apply to only certain documents
out:{merge:'s'} //results get merged (overwrite themselves in collection)
});
//now take a look
s.find();