最新の流星バンドルを使用して、流星アプリケーションに取り組んでいます。mongo ドキュメント配列内のアイテムの位置を変更したい。それを達成するために、私は$pull
それを配列から取り出し、mongoDB documentationに従って$push
特定の位置に置きます。index
MyCollection.update({_id: my_doc.id},
{
$push:
{
my_array:
{
$each:[my_item.id],
$position:index
}
}
}
)
Meteor/Mongo は次のエラーをスローします。
更新に失敗しました: MongoError: クエリを正規化できません: BadValue 不明な最上位演算子: $each
私は最初にこのクライアント側を実装しました。minimongo の制限のために機能しないと思いました。
このサーバー側を処理するメソッドを作成しましたが、同じエラーが発生します。
このリクエストの何が問題なのですか? meteor は $each オペレーターを処理できますか?
EDIT:robomongoに直接挿入しようとしましたが、うまくいきました。Mongo バージョン、入力db.version()
すると 2.6.7 が返される場合
*EDIT2:私はそれを期待していなかったので、前に確認しませんでした:更新は、$pull
と の両方で機能し$push
ます。ただし、データが実際に更新されても、エラーが発生します。
*編集:ここにいくつかのサンプルデータがあります:
{
"_id" : "oSNrpgAAu8BuznvD6",
"name" : "tynhjderjye",
"description" : "",
"notes" : "",
"display_notes" : false,
"keywords" : [
""
],
"owner" : "mA5Y7LBCoRyeSDkaG",
"createdAt" : ISODate("2015-10-27T13:59:06.083Z"),
"createdBy" : "C3i9oj4eapyttHZj6",
"contributors" : [
"C3i9oj4eapyttHZj6"
],
"medias" : [
"TcFqermNY4y5cjBG3",
"dbkNN2rxXJXth8urw",
"jML4JKkRoKxx8sLwu",
"LEWYsnPrXRSH6MPkX"
],
"modifiedAt" : ISODate("2015-11-17T09:35:50.303Z"),
"modifiedBy" : "C3i9oj4eapyttHZj6",
"chunks" : [
"qCCHKJDbdTLEFR5Yt",
"ySiM7dcxvduEM2npj",
"5q46vqrmYttscitiK"
],
"trashed" : ISODate("2015-11-17T09:35:50.303Z")
}
chunks
位置でmy_array
引っ張ったり押したりする配列ですmy_item.id
index