MongoCollection

extension MongoCollection
  • 打开针对集合的 MongoDB 变更流以监视更改。 生成的流将收到有关此集合的所有事件的通知,根据配置的 MongoDB 规则,授权活动用户查看这些事件。

    声明

    Swift

    public func watch(delegate: ChangeEventDelegate, queue: DispatchQueue = .main) -> ChangeStream

    参数

    delegate

    对生成的变更流中的事件和错误做出反应的委托。

    queue

    将流媒体事件分派到可选队列,如果未提供队列,则使用主队列

    返回值

    将管理流事件的 ChangeStream。

  • 打开针对collection的MongoDB change stream以监视更改。提供的 BSON 文档将用作来自流的变更事件的匹配表达式筛选器。

    请参阅https://mongodb.com/zh-cn/docs/manual/reference/operator/aggregation/match/ 了解有关如何定义匹配筛选器的文档。

    定义用于筛选 ChangeEvent 的匹配表达式与为Atlas Triggers定义匹配表达式类似: https ://mongodb.com/zh-cn/docs/realm/triggers/database-triggers/

    声明

    Swift

    public func watch(matchFilter: Document, delegate: ChangeEventDelegate, queue: DispatchQueue = .main) -> ChangeStream

    参数

    matchFilter

    应用于传入变更事件的 $match 筛选器

    delegate

    对生成的变更流中的事件和错误做出反应的委托。

    queue

    将流媒体事件分派到可选队列,如果未提供队列,则使用主队列

    返回值

    将管理流事件的 ChangeStream。

  • 打开针对集合的 MongoDB 变更流,以监视对特定文档所做的更改。 要监视的文档必须由其 _id 明确指定。

    声明

    Swift

    public func watch(filterIds: [ObjectId], delegate: ChangeEventDelegate, queue: DispatchQueue = .main) -> ChangeStream

    参数

    filterIds

    要监视的集合中的 _id 列表。

    delegate

    对生成的变更流中的事件和错误做出反应的委托。

    queue

    将流媒体事件分派到可选队列,如果未提供队列,则使用主队列

    返回值

    将管理流事件的 ChangeStream。

  • 将提供的值编码为 BSON 并将其插入。 如果该值缺少标识符,则会为其生成一个标识符。

    声明

    Swift

    @preconcurrency
    public func insertOne(_ document: Document, _ completion: @escaping MongoInsertBlock)

    参数

    document

    document 要插入的Document值。

    completion

    尝试执行插入操作的结果。 成功后将返回插入对象的 Id

  • 将提供的值编码为 BSON 并插入。 如果有任何值缺少标识符,则会生成这些值。

    声明

    Swift

    @preconcurrency
    public func insertMany(_ documents: [Document], _ completion: @escaping MongoInsertManyBlock)

    参数

    documents

    要插入的 bson 数组中的Document值。

    completion

    插入的结果按顺序返回插入的文档 ID 的数组。

  • 查找此collection中与提供的筛选器匹配的文档。

    声明

    Swift

    @preconcurrency
    public func find(filter: Document, options: FindOptions = FindOptions(),
                     _ completion: @escaping MongoFindBlock)

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    completion

    生成的 bson 文档数组或错误(如果发生)

  • 从与提供的筛选器匹配的集合或视图中返回一个文档。 如果多个文档满足查询条件,则此方法根据查询的排序顺序或自然顺序返回第一个文档。

    声明

    Swift

    @preconcurrency
    public func findOneDocument(filter: Document, options: FindOptions = FindOptions(),
                                _ completion: @escaping MongoFindOneBlock)

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    completion

    如果发生以下情况,则产生的 bson 或错误:

  • 针对此collection运行聚合框架管道。

    声明

    Swift

    @preconcurrency
    public func aggregate(pipeline: [Document], _ completion: @escaping MongoFindBlock)

    参数

    pipeline

    Documents组成的 bson 数组,其中包含要执行的聚合操作的管道。

    completion

    生成的 bson 文档数组或错误(如果发生)

  • 计算此集合中与提供的筛选器匹配的文档数量。

    声明

    Swift

    @preconcurrency
    public func count(filter: Document, limit: Int? = nil, _ completion: @escaping MongoCountBlock)

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    limit

    要计数的最大文档数

    completion

    返回与筛选器匹配的文档计数。

  • 从collection中删除单个匹配文档。

    声明

    Swift

    @preconcurrency
    public func deleteOneDocument(filter: Document, _ completion: @escaping MongoCountBlock)

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    completion

    执行删除的结果。 返回已删除对象的计数

  • 删除多个文档

    声明

    Swift

    @preconcurrency
    public func deleteManyDocuments(filter: Document, _ completion: @escaping MongoCountBlock)

    参数

    filter

    表示匹配条件的文档

    completion

    执行删除的结果。 返回删除操作的计数

  • 更新与此collection中提供的筛选器匹配的单个文档。

    声明

    Swift

    @preconcurrency
    public func updateOneDocument(filter: Document, update: Document, upsert: Bool = false,
                                  _ completion: @escaping MongoUpdateBlock)

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    completion

    尝试更新文档的结果。

  • 更新与此collection中提供的筛选器匹配的多个文档。

    声明

    Swift

    @preconcurrency
    public func updateManyDocuments(filter: Document, update: Document, upsert: Bool = false,
                                    _ completion: @escaping MongoUpdateBlock)

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    completion

    尝试更新文档的结果。

  • 根据查询筛选器更新集合中的单个文档,并以其更新前或更新后的形式返回该文档。 与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、更新和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    @preconcurrency
    public func findOneAndUpdate(filter: Document, update: Document,
                                 options: FindOneAndModifyOptions = .init(),
                                 _ completion: @escaping MongoFindOneBlock)

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    options

    RemoteFindOneAndModifyOptions 执行命令时使用。

    completion

    尝试更新文档的结果。

  • 根据查询筛选器覆盖collection中的单个文档,并以其帖子替换前或替换帖子的形式返回该文档。与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、替换和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    @preconcurrency
    public func findOneAndReplace(filter: Document, replacement: Document,
                                  options: FindOneAndModifyOptions = .init(),
                                  _ completion: @escaping MongoFindOneBlock)

    参数

    filter

    应与查询匹配的Document

    replacement

    描述替换项的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    completion

    尝试替换文档的结果。

  • 根据查询筛选器从集合中删除单个文档,并返回与删除前的文档具有相同格式的文档。 与deleteOneDocument不同,此操作允许您使用相同命令以原子方式查找和删除文档。 这样可以避免其他更新操作在单独的查找和删除操作之间更改文档的风险。

    声明

    Swift

    @preconcurrency
    public func findOneAndDelete(filter: Document, options: FindOneAndModifyOptions = .init(),
                                 _ completion: @escaping MongoFindOneBlock)

    参数

    filter

    应与查询匹配的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    completion

    尝试删除文档的结果。

  • insertOne(_:) 异步(Asynchronous)

    将提供的值编码为 BSON 并将其插入。 如果该值缺少标识符,则会为其生成一个标识符。

    声明

    Swift

    public func insertOne(_ document: Document) async throws -> AnyBSON

    参数

    document

    要插入的Document值。

    返回值

    插入文档的对象 ID。

  • insertMany(_:) 异步(Asynchronous)

    将提供的值编码为 BSON 并插入。 如果有任何值缺少标识符,则会生成这些值。

    声明

    Swift

    public func insertMany(_ documents: [Document]) async throws -> [AnyBSON]

    参数

    documents

    要插入的 bson 数组中的Document值。

    返回值

    插入文档的对象 ID。

  • find(filter:options:) 异步(Asynchronous)

    查找此collection中与提供的筛选器匹配的文档。

    声明

    Swift

    @_unsafeInheritExecutor
    public func find(filter: Document, options: FindOptions? = nil) async throws -> [Document]

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    返回值

    已过滤的Document数组。

  • findOneDocument(filter:options:) 异步(Asynchronous)

    从与提供的筛选器匹配的集合或视图中返回一个文档。 如果多个文档满足查询条件,则此方法根据查询的排序顺序或自然顺序返回第一个文档。

    声明

    Swift

    @_unsafeInheritExecutor
    public func findOneDocument(filter: Document, options: FindOptions? = nil) async throws -> Document?

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    返回值

    Document 已过滤。

  • 查找此collection中与提供的筛选器匹配的文档。

  • 从与提供的筛选器匹配的集合或视图中返回一个文档。 如果多个文档满足查询条件,则此方法根据查询的排序顺序或自然顺序返回第一个文档。

  • aggregate(pipeline:) 异步(Asynchronous)

    针对此collection运行聚合框架管道。

    声明

    Swift

    public func aggregate(pipeline: [Document]) async throws -> [Document]

    参数

    pipeline

    Documents组成的 bson 数组,其中包含要执行的聚合操作的管道。

    返回值

    聚合操作的Document结果的数组。

  • count(filter:limit:) 异步(Asynchronous)

    计算此集合中与提供的筛选器匹配的文档数量。

    声明

    Swift

    public func count(filter: Document, limit: Int? = nil) async throws -> Int

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    limit

    要计数的最大文档数

    返回值

    与筛选器匹配的文档计数。

  • deleteOneDocument(filter:) 异步(Asynchronous)

    从collection中删除单个匹配文档。

    声明

    Swift

    public func deleteOneDocument(filter: Document) async throws -> Int

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    返回值

    Int 已删除文档的计数。

  • deleteManyDocuments(filter:) 异步(Asynchronous)

    删除多个文档

    声明

    Swift

    public func deleteManyDocuments(filter: Document) async throws -> Int

    参数

    filter

    表示匹配条件的文档

    返回值

    Int 已删除文档的计数。

  • 更新与此collection中提供的筛选器匹配的单个文档。

    声明

    Swift

    public func updateOneDocument(filter: Document,
                                  update: Document,
                                  upsert: Bool? = nil) async throws -> UpdateResult

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    返回值

    UpdateResultupdateOne操作的结果。

  • 更新与此collection中提供的筛选器匹配的多个文档。

    声明

    Swift

    public func updateManyDocuments(filter: Document,
                                    update: Document,
                                    upsert: Bool? = nil) async throws -> UpdateResult

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    返回值

    UpdateResultupdateMany操作的结果。

  • 根据查询筛选器更新集合中的单个文档,并以其更新前或更新后的形式返回该文档。 与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、更新和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    @_unsafeInheritExecutor
    public func findOneAndUpdate(filter: Document, update: Document,
                                 options: FindOneAndModifyOptions? = nil) async throws -> Document?

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    options

    RemoteFindOneAndModifyOptions 执行命令时使用。

    返回值

    Document 尝试更新文档的结果,如果未找到文档,则为nil

  • 根据查询筛选器覆盖collection中的单个文档,并以其帖子替换前或替换帖子的形式返回该文档。与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、替换和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    @_unsafeInheritExecutor
    public func findOneAndReplace(filter: Document, replacement: Document,
                                  options: FindOneAndModifyOptions? = nil) async throws -> Document?

    参数

    filter

    应与查询匹配的Document

    replacement

    描述替换项的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    返回值

    Document尝试重新查找文档的结果,如果未找到文档,则为nil

  • findOneAndDelete(filter:options:) 异步(Asynchronous)

    根据查询筛选器从集合中删除单个文档,并返回与删除前的文档具有相同格式的文档。 与deleteOneDocument不同,此操作允许您使用相同命令以原子方式查找和删除文档。 这样可以避免其他更新操作在单独的查找和删除操作之间更改文档的风险。

    声明

    Swift

    @_unsafeInheritExecutor
    public func findOneAndDelete(filter: Document,
                                 options: FindOneAndModifyOptions? = nil) async throws -> Document?

    参数

    filter

    应与查询匹配的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    返回值

    Document 尝试删除文档的结果,如果未找到文档,则为nil

  • 根据查询筛选器更新集合中的单个文档,并以其更新前或更新后的形式返回该文档。 与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、更新和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

  • 根据查询筛选器覆盖collection中的单个文档,并以其帖子替换前或替换帖子的形式返回该文档。与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、替换和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

  • 根据查询筛选器从集合中删除单个文档,并返回与删除前的文档具有相同格式的文档。 与deleteOneDocument不同,此操作允许您使用相同命令以原子方式查找和删除文档。 这样可以避免其他更新操作在单独的查找和删除操作之间更改文档的风险。

  • 创建发布者,每次 MongoDB collection更改时,该发布者都会发出 AnyBSON 事件。

    声明

    Swift

    public func watch() -> Publishers.WatchPublisher

    返回值

    每次collection更改时发出 AnyBSON 事件的发布者。

  • 创建发布者,每次 MongoDB collection更改时,该发布者都会发出 AnyBSON 事件。

    声明

    Swift

    public func watch(filterIds: [ObjectId]) -> Publishers.WatchPublisher

    参数

    filterIds

    要监视的集合中的 _id 列表。

    返回值

    每次collection更改时发出 AnyBSON 事件的发布者。

  • 创建发布者,每次 MongoDB collection更改时,该发布者都会发出 AnyBSON 事件。

    声明

    Swift

    public func watch(matchFilter: Document) -> Publishers.WatchPublisher

    参数

    matchFilter

    应用于传入变更事件的 $match 筛选器。

    返回值

    每次collection更改时发出 AnyBSON 事件的发布者。

  • AnyBSON 值的异步序列,包含有关 MongoDB 集合的每次更改的信息

    声明

    Swift

    public var changeEvents: AsyncThrowingPublisher<Publishers.WatchPublisher> { get }
  • AnyBSON 值的异步序列,包含有关 MongoDB 集合的每次更改的信息

    声明

    Swift

    public func changeEvents(onOpen: @Sendable @escaping () -> Void)
            -> AsyncThrowingPublisher<Publishers.WatchPublisher>

    参数

    onOpen

    监视流在服务器上初始化时调用的回调。 在此回调被调用之前触发的服务器端变更可能不会产生变更事件。

  • AnyBSON 值的异步序列,包含对 MongoDB collection 中 ID 包含在filterIds中的objects的每次更改的信息。

    声明

    Swift

    public func changeEvents(filterIds: [ObjectId], onOpen: (@Sendable () -> Void)? = nil)
            -> AsyncThrowingPublisher<Publishers.WatchPublisher>

    参数

    filterIds

    应生成变更事件的文档 ID

    onOpen

    可选回调,当监视流在服务器上初始化时调用。 在此回调被调用之前触发的服务器端变更可能不会产生变更事件。

  • AnyBSON 值的异步序列,包含与给定 $match 筛选器匹配的 MongoDB collection中对象的每次更改的信息。

    声明

    Swift

    public func changeEvents(matchFilter: Document, onOpen: (@Sendable () -> Void)? = nil)
            -> AsyncThrowingPublisher<Publishers.WatchPublisher>

    参数

    matchFilter

    $match 过滤器,用于过滤产生变更事件的文档。

    onOpen

    可选回调,当监视流在服务器上初始化时调用。 在此回调被调用之前触发的服务器端变更可能不会产生变更事件。

  • 将提供的值编码为 BSON 并将其插入。 如果该值缺少标识符,则会为其生成一个标识符。

    声明

    Swift

    func insertOne(_ document: Document) -> Future<AnyBSON, Error>

    参数

    document

    要插入的Document值。

    返回值

    最终返回插入文档的对象 ID 或Error的发布者。

  • 将提供的值编码为 BSON 并插入。 如果有任何值缺少标识符,则会生成这些值。

    声明

    Swift

    func insertMany(_ documents: [Document]) -> Future<[AnyBSON], Error>

    参数

    documents

    要插入的 bson 数组中的Document值。

    返回值

    最终返回插入文档的对象 ID 或Error的发布者。

  • 查找此collection中与提供的筛选器匹配的文档。

    声明

    Swift

    func find(filter: Document, options: FindOptions) -> Future<[Document], Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    返回值

    最终返回文档的[ObjectId]Error的发布者。

  • 查找此collection中与提供的筛选器匹配的文档。

    声明

    Swift

    func find(filter: Document) -> Future<[Document], Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    返回值

    最终返回文档的[ObjectId]Error的发布者。

  • 从与提供的筛选器匹配的集合或视图中返回一个文档。 如果多个文档满足查询条件,则此方法根据查询的排序顺序或自然顺序返回第一个文档。

    声明

    Swift

    func findOneDocument(filter: Document, options: FindOptions) -> Future<Document?, Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    options

    FindOptions 执行命令时使用。

    返回值

    最终返回DocumentError的发布者。

  • 从与提供的筛选器匹配的集合或视图中返回一个文档。 如果多个文档满足查询条件,则此方法根据查询的排序顺序或自然顺序返回第一个文档。

    声明

    Swift

    func findOneDocument(filter: Document) -> Future<Document?, Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 针对此collection运行聚合框架管道。

    声明

    Swift

    func aggregate(pipeline: [Document]) -> Future<[Document], Error>

    参数

    pipeline

    Documents组成的 bson 数组,其中包含要执行的聚合操作的管道。

    返回值

    最终返回DocumentError的发布者。

  • 计算此集合中与提供的筛选器匹配的文档数量。

    声明

    Swift

    func count(filter: Document, limit: Int) -> Future<Int, Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    limit

    要计数的最大文档数

    返回值

    最终返回Int个文档数或Error的发布者。

  • 计算此集合中与提供的筛选器匹配的文档数量。

    声明

    Swift

    func count(filter: Document) -> Future<Int, Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    返回值

    最终返回Int个文档数或Error的发布者。

  • 从collection中删除单个匹配文档。

    声明

    Swift

    func deleteOneDocument(filter: Document) -> Future<Int, Error>

    参数

    filter

    作为 bson 的Document ,应与查询匹配。

    返回值

    最终返回Int已删除文档的计数或Error的发布者。

  • 删除多个文档

    声明

    Swift

    func deleteManyDocuments(filter: Document) -> Future<Int, Error>

    参数

    filter

    表示匹配条件的文档

    返回值

    最终返回Int已删除文档的计数或Error的发布者。

  • 更新与此collection中提供的筛选器匹配的单个文档。

    声明

    Swift

    func updateOneDocument(filter: Document, update: Document, upsert: Bool) -> Future<UpdateResult, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    返回值

    最终返回UpdateResultError的发布者。

  • 更新与此collection中提供的筛选器匹配的单个文档。

    声明

    Swift

    func updateOneDocument(filter: Document, update: Document) -> Future<UpdateResult, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    返回值

    最终返回UpdateResultError的发布者。

  • 更新与此collection中提供的筛选器匹配的多个文档。

    声明

    Swift

    func updateManyDocuments(filter: Document, update: Document, upsert: Bool) -> Future<UpdateResult, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    upsert

    如果为 true,则在没有文档与查询匹配的情况下创建新文档。

    返回值

    最终返回UpdateResultError的发布者。

  • 更新与此collection中提供的筛选器匹配的多个文档。

    声明

    Swift

    func updateManyDocuments(filter: Document, update: Document) -> Future<UpdateResult, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    返回值

    最终返回UpdateResultError的发布者。

  • 根据查询筛选器更新集合中的单个文档,并以其更新前或更新后的形式返回该文档。 与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、更新和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    func findOneAndUpdate(filter: Document, update: Document, options: FindOneAndModifyOptions) -> Future<Document?, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    options

    RemoteFindOneAndModifyOptions 执行命令时使用。

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 根据查询筛选器更新集合中的单个文档,并以其更新前或更新后的形式返回该文档。 与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、更新和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    func findOneAndUpdate(filter: Document, update: Document) -> Future<Document?, Error>

    参数

    filter

    表示匹配条件的 bson Document

    update

    一个 bson Document ,表示要应用于匹配文档的更新。

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 根据查询筛选器覆盖collection中的单个文档,并以其帖子替换前或替换帖子的形式返回该文档。与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、替换和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    func findOneAndReplace(filter: Document, replacement: Document, options: FindOneAndModifyOptions) -> Future<Document?, Error>

    参数

    filter

    应与查询匹配的Document

    replacement

    描述替换项的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 根据查询筛选器覆盖collection中的单个文档,并以其帖子替换前或替换帖子的形式返回该文档。与updateOneDocument不同,此操作允许您使用相同命令以原子方式查找、替换和返回文档。 这样可以避免其他更新操作在单独的查找和更新操作之间更改文档的风险。

    声明

    Swift

    func findOneAndReplace(filter: Document, replacement: Document) -> Future<Document?, Error>

    参数

    filter

    应与查询匹配的Document

    replacement

    描述替换项的Document

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 根据查询筛选器从集合中删除单个文档,并返回与删除前的文档具有相同格式的文档。 与deleteOneDocument不同,此操作允许您使用相同命令以原子方式查找和删除文档。 这样可以避免其他更新操作在单独的查找和删除操作之间更改文档的风险。

    声明

    Swift

    func findOneAndDelete(filter: Document, options: FindOneAndModifyOptions) -> Future<Document?, Error>

    参数

    filter

    应与查询匹配的Document

    options

    FindOneAndModifyOptions 执行命令时使用。

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error

  • 根据查询筛选器从集合中删除单个文档,并返回与删除前的文档具有相同格式的文档。 与deleteOneDocument不同,此操作允许您使用相同命令以原子方式查找和删除文档。 这样可以避免其他更新操作在单独的查找和删除操作之间更改文档的风险。

    声明

    Swift

    func findOneAndDelete(filter: Document) -> Future<Document?, Error>

    参数

    filter

    应与查询匹配的Document

    返回值

    如果未找到文档,则最终返回Documentnil的发布者,或者Error