更新时的MongoDB点表示法

时间:2011-09-23 13:46:05

标签: mongodb

答案:这只是1.4.4的错误。升级到2.0已经解决了这个问题。

我在Mongo中有以下对象:

{
  _id: "foo",
  bar: "baz",
  list: {
    42: { some: "prop" }
  }
}

我想在“列表”中添加一个键43,所以我正在做以下事情:

db.collection.update({
  _id: "foo"
}, {
  $set: {
    "list.43": { some: "other prop" }
  }
})

一切都很好,但43新的子对象成为list属性中唯一的关键。为什么?为什么42岁了?

预期结果:

{
  _id: "foo",
  bar: "baz",
  list: {
    42: { some: "prop" },
    43: { some: "other prop" }
  }
}

真实结果:

{
  _id: "foo",
  bar: "baz",
  list: {
    43: { some: "other prop" }
  }
}

更新:实际上,问题是如何在一次原子调用中将键添加到嵌套对象中?

1 个答案:

答案 0 :(得分:0)

那应该有用。也许你以前用错误的更新删除了它?

再试一次。