gpt4 book ai didi

mongodb - 想更新mongodb中的文档?

转载 作者:可可西里 更新时间:2023-11-01 09:44:21 25 4
gpt4 key购买 nike

我在mongodb中有如下文档:

 {
"_id" : ObjectId("53bba63f5ef7980c092dae11"),
"traits" : [],
"skills" : [],
"name" : {
"first" : "Abc",
"last" : "abc"
},
"auth" : {
"email" : "ghewari.saurabh09@gmail.com",
"password" : "12345678"
},
}

我想更新密码。为了更新我这样做

db.talents.update({"_id": "53bba63f5ef7980c092dae11"}, 
{$set : {"auth.password": "Saurabh123"}})

查询执行但不更新密码。请告诉我哪里出错了?

当我使用 upsert: true 时出现以下错误

Error : - insertDocument :: caused by :: 11000 E11000 duplicate key error index:
talent.talents.$auth.email_1 dup key: { : null }

Id 和 email 具有唯一索引。

最佳答案

您错误地指定了用于更新的“_id”。当您使用 MongoDB ObjectIds 作为您的 _id 时,当您使用 _id 查询或更新时,您需要调用 ObjectId()。

在您的情况下,此代码有效:

db.talents.update({"_id" : ObjectId("53bba63f5ef7980c092dae11")}, {$set : {"auth.password" :"Saurabh123"}})

请注意,我添加了对 ObjectId() 的调用,将您使用的字符串包裹起来。

关于mongodb - 想更新mongodb中的文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24628925/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com