【发布时间】:2012-06-22 05:00:44
【问题描述】:
假设我有一个这样的文档结构:
thing: {
name: {
first: "John",
last: "Doe"
}
}
说我只想更新姓氏。我要发送哪个命令来更新?
$set: {
name: {
first: "Connor"
}
}
或
$set: {
"name.first": "Connor"
}
有区别吗?还是偏好?我更喜欢第一种,因为它类似于实际文档,但 mongodb 文档使用第二种方法。
【问题讨论】:
-
你的意思是用第一种方式写MongoDb吧? mongodb.org/display/DOCS/Updating#Updating-%24set
-
嗯,我猜他们两者都用。有区别吗?
-
区别在于第一个选项会删除你的姓氏,因为你将 name 设置为它后面的对象,它只包含 first。
-
另外,我认为你的意思是“只更新名字”,上面。