2016-04-10 13 views
0

最近MongoDBで遊び始めました。学習用の小さなデータベースを作成しました。MongoDBのオブジェクトの項目の配列を追加します

私はアイテム

> var myitems = db.items.find({ $or: [ {"title": "item 1"}, {"title": "item 2"}, {"title": "item 3"}] }) 
> myitems 
{ "_id" : ObjectId("570a841a8b71efa49d08fdda"), "title" : "item 1", "date" : ISODate("2016-04-10T16:49:30.242Z") } 
{ "_id" : ObjectId("570a850c8b71efa49d08fddb"), "title" : "item 2", "date" : ISODate("2016-04-10T16:53:32.554Z") } 
{ "_id" : ObjectId("570a85128b71efa49d08fddc"), "title" : "item 3", "date" : ISODate("2016-04-10T16:53:38.554Z") } 

で配列を取得するためにこれを使用し、私はまた、リストオブジェクト

{ 
    "_id": int, 
    "total_items": int, 
    "items": [ 
     "item_id": int 
    ] 
} 

を持っている私はlistコレクションエントリに私items配列を挿入したいです。このようなもの:

> db.lists.insert({ "total_items": 5, "items": { $addToSet: myitems} }) 

もちろん動作しませんでした。それが私が探しているものです。私のitemsリストからIDを取得し、それを使ってlistsに新しいエントリを挿入する方法。

どうすればいいですか?

+0

あなたの質問は分かりません。あなたは詳細を教えていただけますか? – styvane

+0

@ user3100115私の質問のどの部分を理解するのが難しいですか?ここでアイロワイは、私はちょうどそれらを修正する難読部品を見つけることを試みている:) – TheCrafter

+0

あなたは言った*私はアイテムの配列をリストに挿入したい*あなたが話しているリストを知らない、期待される出力。また、 'items'と' lists'コレクションの間には何らかの関係がありますか? – styvane

答えて

0

updateコマンドを使用する必要がある場合は、insertコマンドを使用しています。

db.lists.updateOne({ 
    _id: "abc" 
}, { 
    $addToSet: { 
     items: episodes 
     } 
}) 

完全なドキュメントhere

+0

'lists'テーブルは空です。空のリストに対してupdateコマンドを使用できますか?あるいは、ダミーのリストエントリを追加するために 'insert'を使用し、それを構成するために' update'を使うべきだと言っていますか? – TheCrafter

+0

いいえ、最初にフィールドを作成する必要はありません。フィールドが存在しない場合は作成します。 – BanksySan

+0

さて、私はそれを試しました。 '06-04-10T23:08:16.545 + 0300 E QUERY [スレッド1]警告:ログラインが最大サイズ(10kB)を超えてログを行おうとしましたが、印刷の開始と終了...キャッチされない例外: WriteError({' – TheCrafter

関連する問題