Bir dizi nesneyi ayrı bir koleksiyona taşımam gereken bir Mongo koleksiyonum var.
koleksiyonu bu biçimindedir:
{
_id: ObjectId("..."),
name: "...",
description: "...",
widgets: [
{ someprop: somevalue },
{ someprop: somevalue }
]
}
Ben ayrı koleksiyon haline nesne dizisi dinlenmek istiyorum.
http://docs.mongodb.org/manual/reference/operator/aggregation/out/ adresindeki belgelere göre, yeni bir koleksiyon oluşturmak için operatörü kullanabilmem gerekir. Aşağıdaki Mongo kabuk komut çalışmalarında
ilk iki operasyon bir listeye dizi gevşemeye ama $ dışarı operasyonu eklerken başarısız:
db.mytable.aggregate([
{ $project : {_id: 0, datasets : 1}},
{ $unwind : "$widgets"},
{ $out: "widgets"}
]);
Hata:
Error: command failed: {
"errmsg" : "exception: Unrecognized pipeline stage name: '$out'",
"code" : 16436,
"ok" : 0
} : aggregate failed at src/mongo/shell/assert.js:13
Hem istemci hem de sunucu 2.6 çalışıyor mu? – Martin
İşte buydu! Kabukta, sürüm() 2.6.1 gösterdi, ancak db.version() 2.4.9; Mongo'yu yükselttim ama henüz yeni mongod ikilisini kopyalamamıştım ve bu hizmeti yeniden başlatmıştım. Bunu yaptıktan sonra db.version() 2.6.1 gösterdi ve şimdi $ out işlemi çalışıyor. Teşekkürler – dr3x