MongoDB 中有内置的 JSON.parse 吗?

发布于 2024-12-08 00:49:12 字数 586 浏览 1 评论 0原文

是否有任何 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

故事和酒 2024-12-15 00:49:12

版本 2.1+ Mongo shell 包含一个 JSON 实用程序对象:

  • 从对象到 JSON:JSON.serialize(object)
  • 从 JSON 到对象: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:

  • From object to JSON: JSON.serialize(object)
  • From JSON to 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 of JSON.serialize()
http://docs.mongodb.org/manual/release-notes/2.4-javascript/

℉服软 2024-12-15 00:49:12

您可以尝试eval函数:

obj = eval("(function() { return {\"key\": \"value\"} })()")

但请注意它是不安全的,因为它可以执行任意Javascript代码,包括db.dropDatabase()

You can try eval function:

obj = eval("(function() { return {\"key\": \"value\"} })()")

But note it's unsafe because it can execute arbitrary Javascript code including db.dropDatabase().

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文