MongoDB Realm 是否允许只返回某些字段(投影)的查询?

问题描述 投票:0回答:1

MongoDB 的 python sdk“PyMongo”允许“投影”,其中仅从对象返回指定的字段。在 Realm 中可以这样做吗?我正在研究应用程序的规范,但无法找到有关 Realm 中投影的任何文档。

mongodb realm pymongo mongodb-atlas
1个回答
0
投票

答案是“否”和“是”。

否:

领域查询始终将领域对象作为完整对象返回。不存在仅返回一个或多个字段的 Realm SDK 接口。例如(在 Swift 中)

let results = realm.objects(Person.self)

将返回所有 Person 对象作为完整对象。然后可以读取这些对象,然后在写入事务中对其进行操作 - 并且可以更改对象内的任何属性。让我们更新结果中第一个 Person 对象的名称:

let firstPerson = results.first!
try! realm.write {
   firstPerson.name = "Jay"
}

是的:

SDK 提供应用服务。应用程序服务在“较低”或“更原始”的级别上工作。不同之处在于应用程序服务与文档一起使用 - 就像您在 PyMongo 中看到的那样。

项目文档字段允许该功能仅返回文档中的特定字段,我相信这是所询问的。

以下省略了 Persons _id 字段,但包含 name 字段

let person: [Document] = ["$project": ["_id": 0, "name": 1]]

0 = exclude the field
1 = include the field
© www.soinside.com 2019 - 2024. All rights reserved.