如何在MongoDB中检查字段是否持续增加



我在MongoDB中有一个大约有500K文档的DB。我的DB有一个字段number,从1开始并不断增加。在我统计了文档总数后,我意识到有些文档丢失了(最后一个number字段大于文档总数,而不是相等(。如何检查丢失的文档?文件的格式为:

{
"_id" : ObjectId("abc"),
"number" : 499661
}

您可以尝试这种方法。假设您有这些缺少编号14:的文档

{ number: 0 }
{ number: 2 }
{ number: 3 }
{ number: 5 }
{ number: 6 }

要查找丢失的两个数字,请尝试以下聚合:

db.test.aggregate([ 
{ 
$group: { 
_id: null, 
nums: { $push: "$number" } 
} 
}, 
{ 
$project: { 
_id: 0,
missing_numbers: { $setDifference: [ { $range: [ 0, 7 ] }, "$nums" ] } 
} 
},
])

输出:{ "missing_numbers" : [ 1, 4 ] }

相关内容

最新更新