一般使用mongoengine会查询符合条件的所有的文档(即文档里的所有字段都会查询出来),现在只想查出文档里的部分字段, 并且保持查询效率不能降低
问题补充:这里提到的问题是使用django + mongoengine模块来查询mongodb数据库, 不是直接使用类似pymongo这样的模块来查询,如何查出部分字段, 并保持较高效率?
认证0级讲师
用find的第二个参数。数据
{ "_id" : ObjectId("56ceaff4a442fd22fec343ce"), "edit_info" : { "edited_on" : ISODate("2010-02-25T07:40:36.017Z"), "edited_by" : NumberLong(137), "original" : ObjectId("56ceaff4a442fd22fec343ce"), "previous" : null }, "type" : "problem", "schema_version" : 1 }
查询语句
db.getCollection('modulestore.definitions').find({_id:ObjectId("56ceaff4a442fd22fec343ce")})
查询结果
{ "_id" : ObjectId("56ceaff4a442fd22fec343ce"), "block_type" : "problem" }
读多写少的情况建索引。
# comments - skip 5, limit 10 Page.objects.fields(slice__comments=[5, 10])
QuerySet类的fields方法可以只获取 所需字段
用find的第二个参数。
数据
查询语句
查询结果
读多写少的情况建索引。
QuerySet类的fields方法可以只获取 所需字段