【问题标题】:What does a dollar sign (.$.) in a JSON key do?JSON 密钥中的美元符号 (.$.) 有什么作用?
【发布时间】:2014-01-05 22:34:12
【问题描述】:

我试图根据文档中的英雄名称更改强度,如下所示:

"_id" : ObjectId("52b0d27b5dee463864000001"),
"author" : "niko",
"permalink" : "super_heroes" 
"hero" : [
    {
        "name" : "Batman",
        "strength" : 1,
        "magic" : [ ],
        "times" : [ ]
    },

最初尝试时无法更改:

var operator = { '$set' : { 'hero.strength' : strength } }; 

var query = { 'permalink': permalink , 'hero.name':name };
posts.update(query, operator, options, function(err, numModified) {...})

我收到了MongoError: can't append to array using string field name: strength

但是在看到this post 之后,我添加了一个美元符号并且它起作用了:

var operator = { '$set' : { 'hero.$.strength' : strength } }; 

JSON 密钥中的美元符号有什么作用?我试着用谷歌搜索它,但我只是想出了一百万个关于 jQuery 是什么的解释。谢谢你。

【问题讨论】:

    标签: javascript json mongodb


    【解决方案1】:

    这不是 JSON 运算符(没有 JSON 运算符之类的东西。你可能认为 JSON 是字符串)。

    在此上下文中,$ 是 mongodb positional operator,用于在特定位置执行更新。

    【讨论】:

      猜你喜欢
      • 2013-12-01
      • 1970-01-01
      • 1970-01-01
      • 2019-10-26
      • 1970-01-01
      • 2022-04-11
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多