如何在mongodb中使用jsonpath?

时间:2018-03-04 18:08:34

标签: mongodb jsonpath

有没有办法在mongodb 3.4 / 3.6中使用jsonpath?示例如下所示,如参考链接JSON path parent object, or equivalent MongoDB query

 var t1 = db.runCommand({aggregate : 'news_feeds',
pipeline:[],

cursor : {batchSize : 10}});
     t1.cursor.firstBatch.forEach(function(doc)
   {
var json = tojson(doc);
var json1="$.feeds.reviews[*].name"
var result = jsonPath(json, json1);
print(result);
  })

此查询给出了一个错误,即未定义jsonPath,但此jsonpath存在于javascript中

请帮忙

问候

克里斯

2 个答案:

答案 0 :(得分:1)

使用mongodb-shell-extensions解决https://www.npmjs.com/package/mongodb-shell-extensions#jsonpath效果非常好。

此致 克里斯

答案 1 :(得分:0)

就我而言,我想更新Mongo DB中的字段,并且具有该字段的JSON路径。我最终使用了一些简单的字符串替换来完成从JSON路径到mongo查询路径的转换。

private String toMongoPath(@Nonnull String jsonPath) {
    return jsonPath.replace("'", "")
            .replace("][", ".")
            .replace("$[", "")
            .replace("]", "");
}

输入:

$['store']['book'][0]['title']

输出:

store.book.0.title