2016-04-11 8 views
0
{ "_id": "1122", "qty": 5, "used" : 0 } 
{ "_id": "1221", "qty": 7, "used" : 0 } 
{ "_id": "1122", "qty": 42, "used" : 0 } 
{ "_id": "1221", "qty": 35, "used" : 0 } 
{ "_id": "1223", "qty": 26, "used" : 0 } 
{ "_id": "1223", "qty": 15, "used" : 0 } 

"_id" alanının her bir değeri için "used" = 0 olan bir belgeyle nasıl alınır ve artırılır. Bu yüzden ilk önce "_id" değerlerini, "kullanılmış" değerini artırmayı ve "(kullanılmış) = 0)" ın bitmesini ("kullanılmış" = 1) s ile aynı işlemi başlatmayı denerim. Bu yanıtlarda, first, next'da, ancak yine de aramada yararlı bir şey izledim. Mongojs kullanıyorum. Belki de bu tür bir eylem için ayarlamaya çalıştığım özel bir çözüm var mı?MongoDB'de, varolan her alanın değeri için bir ilk belge nasıl iade edilir?

cevap

0

JS dosyanızda bu kodu kullanın.

var myCursor = db.collectionname.find({ "used": 0 }); 
while (myCursor.hasNext()) { 
print(tojson(myCursor.next())); 
}