【发布时间】:2016-01-18 15:21:53
【问题描述】:
var avg_temp = req.params.rating;
var destination = req.params.name;
var temp = { "results.name" : destination };
var wew = {$set: {"results.$.rating" :avg_temp} };
mach.update(temp ,wew , function(err,jop){
if(err)
{
res.status(500);
res.send('Destination not found');
}
else
{
res.status(202);
res.send('Rating is posted');
}
});
示例文档:
{
"_id" : ObjectId("56247581846ec164bb6be7bf"),
"results" : [
`enter code here`{
"name" : "Mk.Mechanics",
"ph" : NumberLong(9899991817),
"error" : false,
"lat" : 28.5833958899999980,
"lon" : 77.1687398899999980,
"rating" : 3,
"add" : "1123, Nanak pura, Delhi, 110021, India",
"local" : "Nanak pura",
"city" : "Delhi",
"contry" : "India"
},
{
"name" : "Pahadi",
"ph" : NumberLong(9876591817),
"error" : false,
"lat" : 28.6776553099999990,
"lon" : 77.2616931799999950,
"rating" : 3.5000000000000000,
"add" : "plot-6 saranshpur, Shastri park,Delhi,110018, India",
"local" : "saranshpur",
"city" : "Delhi",
"contry" : "India"
},
{
"name" : "mirza",
"ph" : 1.23123e+007,
"error" : false,
"lat" : 28.6775564800000000,
"lon" : 77.2621437899999960,
"rating" : 1,
"add" : " plopur, Shastri park, Delhi,110099,India",
"local" : "Shastri park",
"city" : "Delhi",
"contry" : "India"
}
] }
标题
当我在目的地和 avg_temp 中使用静态值(例如,分别为“Pahadi”和 12)时,这可以工作,但在这种情况下它不会
请求是我向节点服务器发出的补丁请求:
localhost:8000\api\machs?name=Pahadi&rating=1
知道如何在 json 中访问 JavaScript 对象
输出:未找到目的地(尽管我已将确切的字符串值放入名称参数中)
【问题讨论】:
-
请尝试格式化您的代码并解释您的问题,而不是使用 cmets 发布代码。
-
你可以使用 parse ,比如 -> var json = JSON.parse(temp);,检查这个 -> mkyong.com/javascript/how-to-access-json-object-in-javascript
-
你为什么要对 JSON 进行字符串化??
-
对不起,我是新来的。我希望我现在提供的数据足够,格式也很舒服。
-
@Anirudh 我猜 JSON.parse 是将 JSON 转换为 Javascript 对象,而在我的情况下,我想在 JSON 文档中使用我的 Javascript 变量中的值。
标签: javascript json node.js