MongoDB 中有内置的 JSON.parse 吗?
是否有任何 Mongo(命令行)函数可以将字符串转换为对象?例如 JSON.parse 或类似的东西?
db.sessions.update({}, {'$set':{ 'extra':JSON.parse(stringData) }});
我的解决方案:
function my_extra() {
db.tempData.find().forEach( function(obj) {
obj.extra = db.eval(obj.myString);
db.tempData.save(obj);
} );
};
my_extra();
但是,我尝试这样做: db.tempData.update({}, {'$set':{ 'extra':db.eval(myString) }}); 但它不起作用..说 myString 未定义。 所以我使用 this.myString 但两者都不起作用。这就是为什么我必须使用该功能。
有没有办法在第二个参数中引用 myString ?
Is there any Mongo (command line) function that I can turn a string into object? e.g. JSON.parse or something like that?
db.sessions.update({}, {'$set':{ 'extra':JSON.parse(stringData) }});
my solution:
function my_extra() {
db.tempData.find().forEach( function(obj) {
obj.extra = db.eval(obj.myString);
db.tempData.save(obj);
} );
};
my_extra();
However, I try this: db.tempData.update({}, {'$set':{ 'extra':db.eval(myString) }});
but it doesn't work.. saying myString is not defined.
so i use this.myString but doesn't work neither. that's why I have to use the function.
is there a way to reference myString in the second parameter?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
版本 2.1+ Mongo shell 包含一个
JSON
实用程序对象:JSON.serialize(object)
JSON.parse(string )
http://api.mongodb.org/java/2.6/com/mongodb/util/JSON。 html
注意:在 2.4+ 版本的 Mongo shell 中,使用
JSON.stringify()
而不是JSON.serialize()
http://docs.mongodb.org/manual/release-notes/2.4-javascript/
The version 2.1+ Mongo shell includes a
JSON
utility object:JSON.serialize(object)
JSON.parse(string)
http://api.mongodb.org/java/2.6/com/mongodb/util/JSON.html
Note: In version 2.4+ Mongo shell, use
JSON.stringify()
instead ofJSON.serialize()
http://docs.mongodb.org/manual/release-notes/2.4-javascript/
您可以尝试
eval
函数:但请注意它是不安全的,因为它可以执行任意Javascript代码,包括
db.dropDatabase()
。You can try
eval
function:But note it's unsafe because it can execute arbitrary Javascript code including
db.dropDatabase()
.