【发布时间】:2014-03-06 03:20:51
【问题描述】:
下面是一个假设的Users 集合,其中允许多个地址:
{
"firstName": "Joe",
"lastName": "Grey",
...
"addresses":
[
{
"name": "Default",
"street": "..."
...
},
{
"name": "Home",
"street": "..."
...
},
{
"name": "Office",
"street": "..."
...
}
]
}
每个地址都有一个名字...应该是唯一的——例如不能有两个名为 Default 的地址。如果我想更新让我们说索引 1 处的地址(Home),我如何确保更新数据不包含名称 Default 和 Office?
我猜两步方法(即find 然后update)不会很正确,因为数据可能会在find 和随后的update 操作之间更新,不是吗?
【问题讨论】:
-
你想在索引 1 上更新哪个属性,或者你想用新的 json 替换索引 1。
-
我想更新名称属性...并且新名称 必须 不同于数组中其他地址的名称(示例中的索引 0 和 2 )。
标签: mongodb