84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
一般使用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方法可以只获取 所需字段