我们可以在mongo中使用$ each

时间:2017-05-06 19:29:26

标签: arrays mongodb

所以,我正在阅读$each中的mongoDB修饰符,它用于update文档中数组中的多个元素。

我想知道在使用insert时是否可以这样做 - 这意味着一次添加多个数组值。

例如,我写这个是为了在文档中的数组中插入多个值 -

 db.movies.insert({"genre":"horror"},
      ...{$push:{"top10":
      ...{"$each":["Nightmare on Elm Street","Saw","Final Destination","Scary Movie","The Exorcist","The Babadook","The Conjuring","Cabin In The World","Sinster","Hush"]
 }}})

我看到写入结果显示在文档中也是创建的。但是,在文档上执行find({})时,我看到的唯一内容是ObjectId和文档中创建的genre字段。

db.movies.find({}).pretty()返回

 { "_id" : ObjectId("590e1f3173874ca86f6cd6d6"), "genre" : "horror" }

我们是否只在我们更新文档(而不是插入)时才使用$each

1 个答案:

答案 0 :(得分:1)

insert中的MongoDB方法不允许任何修饰符,根据文档:https://docs.mongodb.com/v3.2/reference/method/db.collection.insert/ 因此,$each修饰符只能用于@bad_deadpool正确指出的更新。