NoSQL:插入一个数组

NoSQL: insert an array

我对家庭作业有疑问。

假设每个演员可以在多部电影中工作。我们想将每个演员的电影名称记录为每个演员文档中的嵌入式数组。 修改以下插入查询以将以下电影添加为数组:Life of Pie、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"]

但显然,事情并没有那么简单。我试图找到插入数组的语法和示例,但没有成功。

根据 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"]
});