MongoDB:为什么find和findOne只返回最后一个数组元素?

时间:2012-01-11 18:55:54

标签: arrays mongodb

为什么当我做一个findOne(和find一样)时,它只显示我的“acts”数组中的最后一项。我的收藏只包含一个用于测试目的的文档。

我在mongo cli中这样做:db.mycollection.findOne();

我的findOne()结果:

{
    "_id" : ObjectId("4f0db64659d044892271018f"),
    "title" : "Awards Show 2012",
    "description" : "An amazing awards show",
    "acts" : [
        {
            "name" : "Act 3",
            "description" : "My act description"
        }
    ]
}

这是我的文件:

 {
  "_id": { "$oid" : "4F0DB64659D044892271018F" },
  "title": "Awards Show 2012",
  "description": "An amazing awards show",
  "acts": [
    {
      "name": "Act 1",
      "description": "My act description"
    },
    {
      "name": "Act 2",
      "description": "My act description"
    },
    {
      "name": "Act 3",
      "description": "My act description"
    }
  ]
}

编辑:修正了文件 - 输错了

1 个答案:

答案 0 :(得分:3)

MongoHub真的很麻烦。请不要使用它。 RockMongo和Genghis相当不错。