NoSQL:插入一个数组

时间:2015-03-20 21:12:52

标签: mongodb nosql

我在家庭作业中有一个问题。

假设每个演员都可以在多部电影中工作。我们希望将每个actor的电影名称记录为每个actor的文档中的嵌入式数组。 修改以下插入查询以将以下电影添加为数组:Pie of Life,Madagascar和Hunger Games。

db.actor.insert({
 first: 'matthew',
 last: 'setter',
 dob: '21/04/1978',
 gender: 'm',
 hair_colour: 'brown',
 occupation: 'developer',
 nationality: 'australian',
 height_cm: 185
});

我认为这就像在代码中添加这一行一样简单:

movies: ["Life of Pie", "Madagascar", "Hunger Games"]

但很明显,事情并非如此简单。我试图找到插入数组的语法和示例,但没有运气。

1 个答案:

答案 0 :(得分:0)

根据mongodb文档,您有正确的想法:

http://docs.mongodb.org/manual/core/document/

他们给出的例子是:

var mydoc = {
           _id: ObjectId("5099803df3f4948bd2f98391"),
           name: { first: "Alan", last: "Turing" },
           birth: new Date('Jun 23, 1912'),
           death: new Date('Jun 07, 1954'),
           contribs: [ "Turing machine", "Turing test", "Turingery" ],
           views : NumberLong(1250000)
        }

所以,你可能只是在height_cm: 185之后错过了一个逗号:

db.actor.insert({
 first: 'matthew',
 last: 'setter',
 dob: '21/04/1978',
 gender: 'm',
 hair_colour: 'brown',
 occupation: 'developer',
 nationality: 'australian',
 height_cm: 185,
 movies: ["Life of Pie", "Madagascar", "Hunger Games"]
});