获取所选文档在集合中的位置[mongoDB]

Sai*_*int 20 collections position find mongodb

如何在mongo集合中获取所选文档的位置(索引)?

如该文件:db.myCollection.find({"id":12345}) 具有指数3myCollection

myCollection:
    id: 12340, name: 'G'
    id: 12343, name: 'V'
    id: 12345, name: 'A'
    id: 12348, name: 'N'
Run Code Online (Sandbox Code Playgroud)

Dhr*_*hak 34

如果您的要求是查找文档的位置而不管任何顺序,那么这是不可能的,因为MongoDb不按特定顺序存储文档.但是,如果您想知道基于某个字段的索引,比如说_id,您可以使用此方法.

如果您严格遵循您所在_id领域的自动增量.您可以计算所有值小于该值的文档_id,比如n,然后n + 1将是基于文档的索引_id.

n = db.myCollection.find({"id": { "$lt" : 12345}}).count() ;
Run Code Online (Sandbox Code Playgroud)

如果从集合中删除文档,这也是有效的.

  • 我个人使用这个`db.collection.find({_ id:{$ lte:ObjectId("12345")}}).count()`命令来获取位置...我的意思是小于等于更具体到这个. (2认同)