有没有办法在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中
请帮忙
问候
克里斯
答案 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