我想在MongoDB文档中更改字段名称(仅更改字段名称而不更改值)。该文档如下所示,集合中只有一个用户为Soham的文档:
现在我想将名为“user”的字段更改为“name”,但不更改字段的值。因此,在Mongo shell中,我编写了以下命令:
当我运行更新命令时,会抛出错误。由于我是MongoDB的新手,不确定我哪里做错了。非常感谢任何帮助。
{_id : ObjectId(xxxxxxxxxxxx),
user : "Soham",
age : 29
}
现在我想将名为“user”的字段更改为“name”,但不更改字段的值。因此,在Mongo shell中,我编写了以下命令:
var soh = db.user.find({"user":"Soham"});
soh.name = soh.user;
delete soh.user;
db.user.update({"user":"Roshan"},soh);
当我运行更新命令时,会抛出错误。由于我是MongoDB的新手,不确定我哪里做错了。非常感谢任何帮助。
db.names.update({name:"Soham"},{ $set: { "address.city": "zzz", "address.zip":1234 } })
。更多信息请参见https://docs.mongodb.com/manual/reference/operator/update/set/。如果您发现更多问题,请创建一个新问题,因为这不属于此处讨论的范围。 - s7vrvar a = db.names.findOne({"name":"Soham"}); a.address = {city:"XYZ",zip:1234}; db.names.update({name:"Soham"},a);
find返回游标,而findOne返回文档。 - s7vr