在MongoDB中的对象中添加项目数组

时间:2016-04-10 17:30:02

标签: arrays 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
    ]
}

我想将items数组插入list个集合条目中。像这样:

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

当然它没有用。这就是我正在寻找的东西。一种从items列表中获取ID并使用它们向lists插入新条目的方法。

我该怎么做?

1 个答案:

答案 0 :(得分:0)

当您使用insert命令时,您正在使用update命令。

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

完整文档here