1

我有一个文档,其中一个字段中有大约 7k DBRefs 到其他对象。当我查询 DBRef 字段时,我想限制返回的对象的数量,但我找不到明显的方法。

project = Project.objects.find({'id': 1})
users = project.users[:10]

在第 2 行 MongoEngine 执行查询以检索所有用户,而不仅仅是前 10 个。我可以做些什么来限制查询只检索前 10 个?

4

2 回答 2

2

用户 = project.users[:10],

此操作是客户端操作,它在具有 .返回的所有值的users数组上执行。7k DBRefsmongodb

我可以做些什么来限制查询只检索前 10 个?

您需要包含一个projection操作以仅选择数组10中的第一个元素。users

Project.objects.find({"id": 1},{"users":{"$slice":10}})

中的语法MongoEngine

Project.objects(id=1).fields(slice__users[0,10])
于 2014-11-19T22:44:05.860 回答
0

如果我理解正确,则无法返回一个字段的一部分。您可以选择要返回的字段,但无法指定一个字段的一部分。

于 2014-11-19T22:11:26.603 回答