【问题标题】:How to use Javascript variable in the value portion of a JSON?如何在 JSON 的值部分使用 Javascript 变量?
【发布时间】: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


【解决方案1】:

只需在res.status(500); 上方添加一个console.log(err);。这样我们就可以知道DB的错误是什么。

【讨论】:

    【解决方案2】:

    啊,愚蠢的错误,将 req.params 更改为 req.query,因为值是由 http 请求在查询字符串中发送的!问题解决了,现在代码可以正常工作了。谢谢你们的参与:)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-04-29
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      • 1970-01-01
      • 2014-02-09
      • 2020-09-21
      • 1970-01-01
      相关资源
      最近更新 更多