2012-05-03 14 views
1

我环顾四周关于此错误相当多,似乎蒙戈不会接受.或更新一个$,但我仍然得到这个错误的MongoDB不okForStorage错误

{ [MongoError: not okForStorage] 
    name: 'MongoError', 
    err: 'not okForStorage', 
    code: 12527, 
    n: 0, 
    connectionId: 18, 
    ok: 1 } 

这在对象我更新:

{ 
status: "open", 
type: "item", 
parentId: "4fa13ba2d327ca052d000003", 
_id: "4fa13bd6d327ca052d000012", 
properties: { 
    titleInfo: [ 
    { title: "some item" } 
    ] 
    } 
} 

而且我也更新到:

{ 
fedoraId: 'aFedoraLib:438', 
status: "closed", 
type: "item", 
parentId: "4fa13ba2d327ca052d000003", 
_id: "4fa13bd6d327ca052d000012", 
properties: { 
    titleInfo: [ 
    { title: "some item" } 
    ] 
    } 
} 
+0

你可以发表一个代码示例重现问题作为github问题请。 – christkv

回答

8

因此,对于获取相同错误的人: 这是由于我包含_id,Mongo不太喜欢这个事实

+2

注意:嵌入对象可以有'_id'字段。看起来像这个错误可能会出现几个原因。这是另一个:http://stackoverflow.com/questions/6041109/mongo-update-query-given-error – 2013-06-11 08:56:38

5

我试图用此键值保存JSON结构时遇到此错误(直接出AngularJS应用程序):

"$$hashKey":"021" 

删除只是该问题修复问题。对于其他使用Angular的人来说,它看起来像是调用Angular的内置angular.toJson客户端来消除$$ hashkey密钥。从他们的论坛:

$scope.ngObjFixHack = function(ngObj) { 
    var output; 

    output = angular.toJson(ngObj); 
    output = angular.fromJson(output); 

    return output; 
} 
12

我刚刚碰到的另一个可能的原因:存储在字符串键中有句点的对象。

+0

这也是我的问题的原因,... –

+1

我也得到了这个。 WTH? – poshaughnessy

+0

遇到与期限相同的问题。任何想法解决这个问题? –