我在使用 MongoDB 的 .sort() 时遇到问题,因为它删除了没有排序字段的文档。
例如,我有一个包含“timeSent”字段的文档数组,有些则不包含:
db.foo.find() =
{
"_id": { "$oid" : "51f25e497363055d1fde7524" },
"eventID": 159,
"timeSent": 1374844250464
}
{
"_id": { "$oid" : "51f25e497363055d1fde7525" },
"eventID": 158,
"timeSent": 1374844250465
}
{
"_id": { "$oid" : "51f25e497363055d1fde7526" },
"eventID": 157
}
使用 .sort() 删除不存在 'timeSent' 的文档。
db.foo.find().sort({ "timeSent": 1}).skip(0).limit(30)
我想知道 Mongo 是否有办法排序并返回完整的文档,如 SQL。(对顶部的“timeSent existing”字段和底部的“timeSent not existing”进行排序。反之亦然,具体取决于 ASC 或 DESC)
谢谢
ps 一直在尝试使用 MongoCursor 在 PHP 中实现这一点。