2014-12-21 13 views
11

Bir güncelleştirme çağrısı olan bir belgede iki ayrı diziyi güncellemek için güncelleştirmeye çalışıyorum. Bunu yapmanın bir yolu var mı? ÖrneğinTek bir güncelleştirme çağrısında iki ayrı dizine geçiş

Ben böyle bir belge varsa:

{ 
    _id:1, 
    array1:[1], 
    array2:[4] 
} 

şimdi ben yapıyorum:

db.collection.update({_id:1},{$push:{array1:"2"}}) 
db.collection.update({_id:1},{$push:{array2:"5"}}) 

sadece bir çağrı bu azaltmak için bir yolu var mı? Ben sadece itmek için bir dizi geçirmeyi denedim, güncelleme nesnesinde birden çok itme deyimi denedim ama çalışmıyor. Bununla ilgili yardımlarınız için teşekkürler!

+0

Denediniz mi $push operatöre birden çok alan belirtebilirsiniz 'db.collection.update ({_ id: 1}, {$ itme: {dizi1: "2"}, $ itme: {array2: "5"}}) '? Ve neden tamsayı dizge olarak itiyorsunuz? –

cevap

11

Sen

db.collection.update(
    { _id :1 }, 
    { $push : { array1 : "1", array2 : "5" }} 
) 
İlgili konular