Qui*_*nGB 1 javascript mongodb node.js
我看了很多关于这个错误,似乎Mongo不接受.或$更新,但我仍然得到这个错误
{ [MongoError: not okForStorage]
name: 'MongoError',
err: 'not okForStorage',
code: 12527,
n: 0,
connectionId: 18,
ok: 1 }
Run Code Online (Sandbox Code Playgroud)
这是我正在更新的对象:
{
status: "open",
type: "item",
parentId: "4fa13ba2d327ca052d000003",
_id: "4fa13bd6d327ca052d000012",
properties: {
titleInfo: [
{ title: "some item" }
]
}
}
Run Code Online (Sandbox Code Playgroud)
我正在更新它:
{
fedoraId: 'aFedoraLib:438',
status: "closed",
type: "item",
parentId: "4fa13ba2d327ca052d000003",
_id: "4fa13bd6d327ca052d000012",
properties: {
titleInfo: [
{ title: "some item" }
]
}
}
Run Code Online (Sandbox Code Playgroud)
MSp*_*eij 12
我遇到的另一个可能原因是:存储一个在字符串键中有句点的对象.
所以对于那些得到同样错误的人:这是因为我包含了_id,Mongo显然不喜欢
尝试使用此键值对保存JSON结构时遇到此错误(直接来自AngularJS应用程序):
"$$hashKey":"021"
Run Code Online (Sandbox Code Playgroud)
只删除该键修复了问题.对于使用Angular的其他人来说,看起来调用Angular的内置angular.toJson客户端消除了$$ hashkey键.来自他们的论坛:
$scope.ngObjFixHack = function(ngObj) {
var output;
output = angular.toJson(ngObj);
output = angular.fromJson(output);
return output;
}
Run Code Online (Sandbox Code Playgroud)