我有一个包含大量文档的网络应用程序。用户可以输入 id(有效的 MongoId / ObjectId),但如果用户不输入它,我必须使用最后一个 id 检索对象:
我担心搜索最后一个对象的速度。我目前正在这样做:
db.docs.find({"status": 1}).sort({"_id": -1}).limit(1);
//Or in php:
$docs->find(array('status' => 1))->sort(array('_id' => -1))->limit(1)->getNext();
这不是有点慢吗?首先是查找所有状态为 1 的文档,然后对它们进行排序并限制。有没有更好的方法来获取状态为 1 的最后一个文档?