Node.JSの上にmongoskinを備えたmongoDBを使用しています。
画像のリスト(コレクション「画像」)があり、画像ごとにコメントのリストを保存したいと思います。
mongodb を使用する正しい方法は、各画像ドキュメント内でコメントのリストを使用することだと思います。
問題 - これを行う方法がわかりません。ドキュメント内でリストを使用するにはどうすればよいですか? それらに対してCRUDを実行するにはどうすればよいですか?
助けてくれてありがとう。
埋め込みオブジェクトに対して従来の CRUD を直接実行する方法はありません。Create と READ は簡単に実行できますが、Update と Delete は非常に初歩的です。埋め込みオブジェクトを 1 つだけ選択することはできません。親オブジェクト (_id を持つオブジェクト) のみを選択できます。埋め込みオブジェクトのリストは、オブジェクトがエントリである配列です。
これがドライバーで行う方法です(モンゴスキンは上の薄い層です)
var id = new ObjectId();
var image = {_id: id, title:"some title".......}
collection.insert(image, {safe:true}, function(err, result) {
var comment = {title:'comment'}
collection.update({_id:id}, {$push:{comments:comment}}, {safe:true}, function(err, nrofUpdated) {
}
})
便利なリンク