Mongo DB。无法更新记录

时间:2016-11-23 10:38:46

标签: mongodb mongodb-query nosql

我面临一个有趣的问题:无法从shell更新Mongo DB中的某些值。实际上这发生在其他一些Mongo DB上。在具有相同数据库架构的本地数据库上,相同的更新命令可以完美地运行。似乎在一些操作之后,db变为只读。 rs.status()命令返回not running with --replSet。 Mongo版本是' 2.4.9'。

我应该在哪里解决这个问题? 谢谢!

UPD。似乎这种事情只发生在一些集合上。 db中的其他集合工作正常

UPD2。我使用的更新cmd如下:db.userprofile.update({login: 'admin'}, {$set:{'filter.table.login':'a111'}})。它根本不返回任何消息。但是在相同版本的另一个MongoDB上,它具有相同的模式,它可以解决问题并执行更新。

UPD3。命令db.getUsers()返回给我:TypeError: Property 'getUsers' of object admin is not a function无论我使用admin db还是我自己的db。

UPD4。我似乎找到了问题所在的地方。到目前为止,我发现我可以修改集合中的其他文档。所以我只在一两个文件中遇到问题。其中一个文档看起来像这样(一个片段):

"filter" : {
    "" : {
        "domain" : null,
        "type" : null
    },
    "table1" : {
        "pageNumber" : 1,
        "page1" : 10
    },
    "table2" : {
        "domain" : null,
        "login" : "",
        "page1" : 1,
        "page2" : 10
    },

由于某些原因,空值("")被保存为键。我假设这个空值可能是这种错误的根源。但是为什么Mongo司机在插入过程中并没有抱怨这种情况?

0 个答案:

没有答案