我有一个文档,其中一个字段中有大约 7k DBRefs 到其他对象。当我查询 DBRef 字段时,我想限制返回的对象的数量,但我找不到明显的方法。
project = Project.objects.find({'id': 1})
users = project.users[:10]
在第 2 行 MongoEngine 执行查询以检索所有用户,而不仅仅是前 10 个。我可以做些什么来限制查询只检索前 10 个?
我有一个文档,其中一个字段中有大约 7k DBRefs 到其他对象。当我查询 DBRef 字段时,我想限制返回的对象的数量,但我找不到明显的方法。
project = Project.objects.find({'id': 1})
users = project.users[:10]
在第 2 行 MongoEngine 执行查询以检索所有用户,而不仅仅是前 10 个。我可以做些什么来限制查询只检索前 10 个?
用户 = project.users[:10],
此操作是客户端操作,它在具有 .返回的所有值的users
数组上执行。7k DBRefs
mongodb
我可以做些什么来限制查询只检索前 10 个?
您需要包含一个projection
操作以仅选择数组10
中的第一个元素。users
Project.objects.find({"id": 1},{"users":{"$slice":10}})
中的语法MongoEngine
:
Project.objects(id=1).fields(slice__users[0,10])
如果我理解正确,则无法返回一个字段的一部分。您可以选择要返回的字段,但无法指定一个字段的一部分。