Ben formun belgeleri:
{
_id : ObjectId(.....),
prop1 : "foo",
links : [ 1, 2, 3, 4 ]
}
{
_id : ObjectId(.....),
prop1 : "bar",
links : [ 5, 6, 7, 8 ]
}
ben $ kullanmak, bu belgeleri işlemek için toplama çerçevesini kullanarak üretmek için gevşemek am Bağlantı dizisindeki her değer için belge.
Ancak, $ unwind çağrılmadan önce belgeleri güncellemem gereken üç durumum var, $ proje işlemine bakıyordum, ancak aşağıdaki durumlar için dizilerin nasıl oluşturulacağı veya güncelleştirileceği hakkında hiçbir bilgi bulamıyorum. bağlantılar özelliği
{
_id : ObjectId(.....),
prop1 : "far"
}
eksik
1) I bağlantılar dizi özelliği
{
_id : ObjectId(.....),
prop1 : "far",
links : []
}
I eklemek için gereken bir boş bir dizi) bağlantılar dizisi
2 eklemek gerekir
dizisine bir değer 3) Bağlantılar dizisinin çok az değeri var
{
_id : ObjectId(.....),
prop1 : "far",
links : [ 9, 10 ]
}
Ben Kullanılacak gerekir
: Ben $ cond aşinayım http://docs.mongodb.org/manual/reference/operator/aggregation/cond/ – WiredPrairie
, sorun Ben aslında diziler oluşturmak veya dizi değerlerini güncelleştirmek nasıl anlayamıyorum. Bunu daha iyi yansıtmak için yeni güncelledim. – user2808819
Belgeleri kalıcı olarak değiştiremezsiniz. Sadece boru hattı sırasında bir alanın değerini değiştirebileceksin. – WiredPrairie