小编Ami*_*mar的帖子

mongodb聚合$按最接近某个值的字段值排序

我想使用聚合 $sort 价格值最接近 我一直使用的 92 聚合来对以下聚合输出进行排序

db.units.aggregate([
{$match: {category: 'a'}},
{$limit: 3},
{$project: {price:1, name: 1, category: 1}}
]);
Run Code Online (Sandbox Code Playgroud)

输出

[{'_id': '111', 'price': 100, 'name': 'abc', 'category': 'a'}
{'_id': '222', 'price': 90, 'name': 'efg', 'category': 'a'}
{'_id': '333', 'price': 80, 'name': 'xyz', 'category': 'a'}]
Run Code Online (Sandbox Code Playgroud)

期望的输出:

[{'_id': '222', 'price': 90, 'name': 'efg', 'category': 'a'}
{'_id': '111', 'price': 100, 'name': 'abc', 'category': 'a'}
{'_id': '333', 'price': 80, 'name': 'xyz', 'category': 'a'}]
Run Code Online (Sandbox Code Playgroud)

注意:价格字段是嵌套对象。

javascript mongodb meteor aggregation-framework

5
推荐指数
1
解决办法
714
查看次数