作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我在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/
使用登录后,我想吐出用户名。 但是,当我尝试单击登录按钮时, 它给了我力量。 我看着logcat,但是什么也没显示。 这种编码是在说。 它将根据我在登录屏幕中输入的名称来烘烤用户名。 不会有任何密码。
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎是题外话,因为它缺乏足够的信息来诊断问题。 更详细地描述您的问题或include a min
我是一名优秀的程序员,十分优秀!