我正在尝试根据位置更改来过滤一组项目。
数据库对象:
{
"_id" : ObjectId("5b7e6a5b08ceea001159d8d9"),
"asset" : {
"id" : "5b7e699ac08f8b001002276d",
"name" : "New asset"
},
"reader" : {
"id" : null,
"name" : null
},
"customerId" : "",
"timestamp" : ISODate("2018-08-23T08:03:39.698+0000"),
"tagRssi" : NumberInt(167),
"battery" : NumberInt(5134),
"geofence" : {
"id" : "5b7ab863915137001036d002",
"name" : "Test",
"color" : {
"red" : NumberInt(0),
"green" : NumberInt(0),
"blue" : NumberInt(0),
"alpha" : NumberInt(1)
},
"coordinates" : [
[
3.2197890281677246,
50.82978057861328
],
[
3.2609877586364746,
50.85319519042969
],
[
3.320725917816162,
50.822837829589844
],
[
3.262704372406006,
50.79463577270508
],
[
3.2197890281677246,
50.82978057861328
]
]
}
}
这就是我要过滤掉地理围栏ID等于上一个条目的条目的事情。
因此,如果我有10个条目,其中前3个在地理围栏A,最后7个在地理围栏B。我只想两者都在第一个。因此,在这种情况下,第一个和第四个条目。
我可以通过全部收集并过滤掉代码来做到这一点。但是我需要分页,所以这似乎对Mongo来说是一项工作。但是我不知道应该使用什么聚合方法/表达式。
谢谢!