MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm thế nào để (WHERE) column =column trong Mongo?

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();



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Truy vấn MongoDB GridFS?

  2. Nhóm MongoDB theo giờ

  3. Làm cách nào để giải quyết MongoWaitQueueFullException?

  4. truy cập tài liệu phụ trên Rails 3 bằng Mongoid

  5. Không thể tính toán thời gian trung bình