2
因此,我将一个post
的ObjectId存储在一个comment
BSON中。我BSON模式的一个例子如下:
{ "_id" : ObjectId("570175e6c002e46edb92aaa5"), "userid" : "56f3f70d4de8c74a69d1d5e1", "postid" : "5700edfe03fcdb000347beaa" }
现在,我要找到帖子ID 5700edfe03fcdb000347bebc
下面的所有帖子。
所以我去:
"$match" : {
"postid" : {
"$lt" : "5700edfe03fcdb000347bebc"
}
}
然而,$ LT聚集算一个比较的String ID
代替ObjectID
和返回的结果仍然是准确的。所以,如果这是我postids的列表:
{ "_id" : "5700edfe03fcdb000347beda" }
{ "_id" : "5700edfe03fcdb000347bebf" }
{ "_id" : "5700edfe03fcdb000347bebc" }
{ "_id" : "5700edfe03fcdb000347bebb" }
{ "_id" : "5700edfe03fcdb000347beaa" }
{ "_id" : "5700edfb03fcdb000347bebe" }
{ "_id" : "5700edfb03fcdb000347beba" }
它将返回:
{ "_id" : "5700edfe03fcdb000347bebb" }
{ "_id" : "5700edfe03fcdb000347beaa" }
{ "_id" : "5700edfb03fcdb000347bebe" }
{ "_id" : "5700edfb03fcdb000347beba" }
但是,我不知道这将永远是真实的,或者在上面的只是运气?
我明白,排序ObjectID将始终返回一个准确的结果,因为在一个ObjectId内是一个时间戳,因此它可以使用时间戳准确地对ObjectId进行排序。在一个字符串中,没有时间戳,所以它会准确排序?