Mongodb mongo$sort$aggregate在每次执行时都会得到不同的结果
我正在执行聚合查询,以获取每个文档的所有唯一名称。名字可以重复,这没关系 问题是,每次执行查询时,我都会收到不同的结果 收集示例:Mongodb mongo$sort$aggregate在每次执行时都会得到不同的结果,mongodb,aggregate,Mongodb,Aggregate,我正在执行聚合查询,以获取每个文档的所有唯一名称。名字可以重复,这没关系 问题是,每次执行查询时,我都会收到不同的结果 收集示例: { "_id" : ObjectId("5dds82d99b912454cba84359"), "name": "name1", "creation_date: 2019-03-07T00:00:00.000Z } 查询: db.getCollect
{
"_id" : ObjectId("5dds82d99b912454cba84359"),
"name": "name1",
"creation_date: 2019-03-07T00:00:00.000Z
}
查询:
db.getCollection("collection_name").aggregate([
{
"$match": {
"creation_date": {
$gte: ISODate("2019-03-07T00:00:00.000Z"),
$lte: ISODate("2019-09-03T00:00:00.000Z"),
}
}
},
{
'$group': {
'_id': null, 'array': {'$addToSet': '$$ROOT.name'}
},
},
{'$sort': {'creation_date': 1, '_id':1}}
]);
我有两条记录的创建日期完全相同,因此,我也尝试按_id字段对结果排序,但问题仍然存在:/
你知道为什么每次执行都会得到不同的结果吗?请你先对$sort进行排序,然后再对$group进行排序。分组时会丢失创建日期和ID。分组时,没有创建日期。如果需要按创建日期排序,还需要获取它