gpt4 book ai didi

mongodb - MongoLab 中的 getLastError 没有 updatedExisting

转载 作者:可可西里 更新时间:2023-11-01 10:44:34 24 4
gpt4 key购买 nike

我正在对 MongoLab (Heroku) 中的数据库运行更新,但无法从 getLastError 获取信息。

例如,下面是在我的机器上本地运行的 MongoDB 数据库中更新集合的语句(数据库版本 v2.0.3-rc1)。

ariels-MacBook:mongodb ariel$ mongo
MongoDB shell version: 2.0.3-rc1
connecting to: test
> db.mycoll.insert({'key': '1','data': 'somevalue'});
> db.mycoll.find();
{ "_id" : ObjectId("505bcc5783cdc9e90ffcddd8"), "key" : "1", "data" : "somevalue" }
> db.mycoll.update({'key': '1'},{$set: {'data': 'anothervalue'}});
> db.runCommand('getlasterror');
{
"updatedExisting" : true,
"n" : 1,
"connectionId" : 4,
"err" : null,
"ok" : 1
}
>

本地一切都很好。

现在我切换到 MongoLab 中的数据库并运行相同的语句来更新文档。 getLastError 没有返回 updatedExisting 字段。因此,我无法测试我的更新是否成功。

ariels-MacBook:mongodb ariel$ mongo ds0000000.mongolab.com:00000/heroku_app00000 -u someuser -p somepassword
MongoDB shell version: 2.0.3-rc1
connecting to: ds000000.mongolab.com:00000/heroku_app00000
> db.mycoll.insert({'key': '1','data': 'somevalue'});
> db.mycoll.find();
{ "_id" : ObjectId("505bcf9b2421140a6b8490dd"), "key" : "1", "data" : "somevalue" }
> db.mycoll.update({'key': '1'},{$set: {'data': 'anothervalue'}});
> db.runCommand('getlasterror');
{
"n" : 0,
"lastOp" : NumberLong("5790450143685771265"),
"connectionId" : 1097505,
"err" : null,
"ok" : 1
}
> db.mycoll.find();
{ "_id" : ObjectId("505bcf9b2421140a6b8490dd"), "data" : "anothervalue", "key" : "1" }
>

有人遇到过这个吗?如果重要的话,我在 MongoLab 的资源正在运行 mongod v2.0.7(我的 shell 是 2.0.3)。不确定我错过了什么。我正在等待他们的支持(当我收到回复时我会在这里发帖),但为了以防万一,我也想在这里与你们这些优秀的人核实一下。谢谢。

最佳答案

这看起来是对 mongod 进程没有管理员权限的限制。您可以向 10gen 提交工单,因为它似乎不是必要的限制。

当我在笔记本电脑上以身份验证模式运行 Mongo 时,我需要在管理数据库中以用户身份进行身份验证,以便看到 0 以外的“n”或“updatedExisting”字段。当我在任何其他数据库中作为用户进行身份验证时,我得到的结果与您在 MongoLab 生产环境中看到的结果类似。

(完全披露:我在 MongoLab 工作。顺便说一下,我在我们的系统中没有看到您提到的支持票。如果您愿意,我们很乐意直接与您合作。您可以联系我们通过 support@mongolab.com 或 http://support.mongolab.com )

关于mongodb - MongoLab 中的 getLastError 没有 updatedExisting,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12523562/

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