【发布时间】:2017-10-09 12:51:04
【问题描述】:
我是 MongoDB 新手,我正在尝试将 SQL 查询转换为 MongoDB 查询。但似乎找不到任何方法将带有子查询的 SQL 查询转换为 mongoDB。 例如:
SELECT article, dealer, price
FROM shop
WHERE price=(SELECT MAX(price) FROM shop);
我尝试了以下方法,但它似乎不起作用。
db.shop.group({
"initial": {},
"reduce": function(obj, prev) {
prev.maximumvalueprice = isNaN(prev.maximumvalueprice) ? obj.price :
Math.max(prev.maximumvalueprice, obj.price);
}}).forEach(
function(data){
db.shop.find({
"price": data
},
{
"article": 1,
"dealer": 1,
"price": 1
})
})
如何将此 SQL 查询转换为 MongoDB 查询?
【问题讨论】:
-
我尝试使用 mongoDB group() 函数获取最高价格,然后使用它返回的列表尝试使用正常的 find() 函数。但它不起作用。我似乎在某个地方犯了一些错误。
-
不要忘记标记答案或您的(如果没有提供正确答案),因为否则这个问题将来将毫无用处。