[英]What does a dollar sign (.$.) in a JSON key do?
我试图根据这样的文档中的英雄名称来改变力量:
"_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
。
但在看到这篇文章后,我添加了一个美元符号并且它有效:
var operator = { '$set' : { 'hero.$.strength' : strength } };
JSON键中的美元符号是做什么用的? 我试过谷歌搜索它,但我只是想出了一些关于jQuery的解释。 谢谢。
这不是JSON运算符(没有JSON运算符这样的东西。您可能认为JSON是一个字符串)。
在这种情况下,$是一个mongodb位置运算符,用于在特定位置执行更新。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.