MongoCollection<DocumentT> 类

  • 类型参数:
    DocumentT - 此collection将对文档进行编码和解码的类型。

    public class MongoCollection<DocumentT>
    extends Object
    MongoCollection 接口提供对文档的读取和写入访问权限。

    使用MongoDatabase.getCollection(java.lang.String)获取collection实例。

    在进行任何访问之前,必须有一个活跃的登录用户。

    另请参阅:
    MongoDatabase
    • 方法详细信息

      • getNamespace

        public MongoNamespace getNamespace()
        获取此集合的命名空间,即数据库和集合名称的组合。
        返回:
        命名空间
      • getName

        public String getName()
        获取此collection的名称
        返回:
        名称
      • getCodecRegistry

        public CodecRegistry getCodecRegistry()
        获取 MongoCollection 的编解码器注册表。
        返回:
        此集合的CodecRegistry
      • withDocumentClass

        public <NewDocumentT> MongoCollection<NewDocumentT> withDocumentClass​(Class<NewDocumentT> clazz)
        创建具有不同默认类的新 MongoCollection 实例,将从数据库返回的任何文档转换为该实例。
        类型参数:
        NewDocumentT - 新集合将文档编码和解码到的类型。
        参数:
        clazz - 从数据库返回的任何文档都将转换为的默认类。
        返回:
        具有不同默认类的新 MongoCollection 实例
      • withCodecRegistry

        public MongoCollection<DocumentT> withCodecRegistry​(CodecRegistry codecRegistry)
        使用不同的编解码器注册表创建新的 MongoCollection 实例。
        参数:
        codecRegistry - collection的新CodecRegistry
        返回:
        具有不同编解码器注册表的新 MongoCollection 实例
      • 数数

        public RealmResultTask<Long> count()
        计算collection中的文档数量。
        返回:
        包含集合中文档数量的任务
      • 数数

        public RealmResultTask<Long> count​(Bson filter)
        根据给定选项计算collection中的文档数量。
        参数:
        filter - 查询筛选器
        返回:
        包含集合中文档数量的任务
      • 数数

        public RealmResultTask<Long> count​(Bson filter,
                                           CountOptions options)
        根据给定选项计算collection中的文档数量。
        参数:
        filter - 查询筛选器
        options - 描述计数的选项
        返回:
        包含集合中文档数量的任务
      • findOne

        public RealmResultTask<DocumentT> findOne()
        在collection中查找文档。
        返回:
        包含查找一个操作结果的任务
      • findOne

        public <ResultT> RealmResultTask<ResultT> findOne​(Class<ResultT> resultClass)
        在collection中查找文档。
        类型参数:
        ResultT - 目标文档类型
        参数:
        resultClass - 将每个文档解码为的类
        返回:
        包含查找一个操作结果的任务
      • findOne

        public RealmResultTask<DocumentT> findOne​(Bson filter)
        在collection中查找文档。
        参数:
        filter - 查询筛选器
        返回:
        包含查找一个操作结果的任务
      • findOne

        public <ResultT> RealmResultTask<ResultT> findOne​(Bson filter,
                                                          Class<ResultT> resultClass)
        在collection中查找文档。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        resultClass - 将每个文档解码为的类
        返回:
        包含查找一个操作结果的任务
      • findOne

        public <ResultT> RealmResultTask<ResultT> findOne​(Bson filter,
                                                          FindOptions options,
                                                          Class<ResultT> resultClass)
        在collection中查找文档。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        options - FindOptions结构体
        resultClass - 将每个文档解码为的类
        返回:
        包含查找一个操作结果的任务
      • find

        public FindIterable<DocumentT> find()
        查找collection中的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        返回:
        包含查找操作结果的迭代
      • find

        public <ResultT> FindIterable<ResultT> find​(Class<ResultT> resultClass)
        查找指定输出类的集合中的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        resultClass - 将每个文档解码为的类
        返回:
        包含查找操作结果的迭代
      • find

        public <ResultT> FindIterable<ResultT> find​(Class<ResultT> resultClass,
                                                    FindOptions options)
        查找集合中指定输出类并使用FindOptions构建查询的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        resultClass - 将每个文档解码为的类
        options - 用于构建查询的FindOptions结构
        返回:
        包含查找操作结果的迭代
      • find

        public FindIterable<DocumentT> find​(Bson filter)
        查找collection中与给定筛选器匹配的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        参数:
        filter - 查询筛选器
        返回:
        包含查找操作结果的迭代
      • find

        public FindIterable<DocumentT> find​(Bson filter,
                                            FindOptions options)
        使用FindOptions构建查询,查找collection中与给定筛选器匹配的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        参数:
        filter - 查询筛选器
        options - FindOptions结构体
        返回:
        包含查找操作结果的迭代
      • find

        public <ResultT> FindIterable<ResultT> find​(Bson filter,
                                                    Class<ResultT> resultClass)
        查找collection中与指定输出类的给定筛选器匹配的所有文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        resultClass - 将每个文档解码为的类
        返回:
        包含查找操作结果的迭代
      • find

        public <ResultT> FindIterable<ResultT> find​(Bson filter,
                                                    Class<ResultT> resultClass,
                                                    FindOptions options)
        查找collection中与指定输出类的给定筛选器匹配并使用FindOptions构建query的文档。

        所有文档都将以FindIterable的形式交付,可以从中提取单个元素。

        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        resultClass - 将每个文档解码为的类
        options - FindOptions结构体
        返回:
        包含查找操作结果的迭代
      • 聚合

        public <ResultT> AggregateIterable<ResultT> aggregate​(List<? extends Bson> pipeline,
                                                              Class<ResultT> resultClass)
        根据指定输出类的指定聚合管道聚合文档。

        所有文档都将以AggregateIterable的形式交付,可以从中提取单个元素。

        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        pipeline - 聚合管道
        resultClass - 将每个文档解码为的类
        返回:
        一个AggregateIterable ,可从中提取结果
      • insertOne

        public RealmResultTask<InsertOneResult> insertOne​(DocumentT document)
        插入提供的文档。 如果文档缺少标识符,客户端应生成一个。
        参数:
        document - 要插入的文档
        返回:
        包含插入一个操作结果的任务
      • insertMany

        public RealmResultTask<InsertManyResult> insertMany​(List<? extends DocumentT> documents)
        插入一份或多份文档。
        参数:
        documents - 要插入的文档
        返回:
        包含插入多个操作结果的任务
      • deleteOne

        public RealmResultTask<DeleteResult> deleteOne​(Bson filter)
        从collection中最多删除一个与给定筛选器匹配的文档。如果没有匹配的文档,则不会修改集合。
        参数:
        filter — 应用删除操作的查询筛选器
        返回:
        包含删除一个操作结果的任务
      • deleteMany

        public RealmResultTask<DeleteResult> deleteMany​(Bson filter)
        从集合中删除与给定查询筛选器匹配的所有文档。 如果没有匹配的文档,则不会修改集合。
        参数:
        filter — 应用删除操作的查询筛选器
        返回:
        包含“删除多个”操作结果的任务
      • updateOne

        public RealmResultTask<UpdateResult> updateOne​(Bson filter,
                                                       Bson update)
        根据指定参数更新collection中的文档。
        参数:
        filter - 描述查询筛选器的文档,不得为空。
        update - 描述更新的文档,不得为空。 要应用的更新必须仅包含更新操作符。
        返回:
        包含更新操作结果的任务
      • updateOne

        public RealmResultTask<UpdateResult> updateOne​(Bson filter,
                                                       Bson update,
                                                       UpdateOptions updateOptions)
        根据指定参数更新collection中的文档。
        参数:
        filter - 描述查询筛选器的文档,不得为空。
        update - 描述更新的文档,不得为空。 要应用的更新必须仅包含更新操作符。
        updateOptions - 应用于更新操作的选项
        返回:
        包含更新操作结果的任务
      • updateMany

        public RealmResultTask<UpdateResult> updateMany​(Bson filter,
                                                        Bson update)
        根据指定参数更新collection中的所有文档。
        参数:
        filter - 描述查询筛选器的文档,不得为空。
        update - 描述更新的文档,不得为空。 要应用的更新必须仅包含更新操作符。
        返回:
        包含更新多次操作结果的任务
      • updateMany

        public RealmResultTask<UpdateResult> updateMany​(Bson filter,
                                                        Bson update,
                                                        UpdateOptions updateOptions)
        根据指定参数更新collection中的所有文档。
        参数:
        filter - 描述查询筛选器的文档,不得为空。
        update - 描述更新的文档,不得为空。 要应用的更新必须仅包含更新操作符。
        updateOptions - 应用于更新操作的选项
        返回:
        包含更新多次操作结果的任务
      • findOneAndUpdate

        public RealmResultTask<DocumentT> findOneAndUpdate​(Bson filter,
                                                           Bson update)
        在collection中查找文档并执行给定更新。
        参数:
        filter - 查询筛选器
        update - 更新文档
        返回:
        包含生成文档的任务
      • findOneAndUpdate

        public <ResultT> RealmResultTask<ResultT> findOneAndUpdate​(Bson filter,
                                                                   Bson update,
                                                                   Class<ResultT> resultClass)
        在collection中查找文档并执行给定更新。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        update - 更新文档
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • findOneAndUpdate

        public <ResultT> RealmResultTask<ResultT> findOneAndUpdate​(Bson filter,
                                                                   Bson update,
                                                                   FindOneAndModifyOptions options,
                                                                   Class<ResultT> resultClass)
        在collection中查找文档并执行给定更新。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        update - 更新文档
        options - FindOneAndModifyOptions结构体
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • findOneAndReplace

        public RealmResultTask<DocumentT> findOneAndReplace​(Bson filter,
                                                            Bson replacement)
        在collection中查找文档并将其替换为给定文档。
        参数:
        filter - 查询筛选器
        replacement - 用于替换匹配文档的文档
        返回:
        包含生成文档的任务
      • findOneAndReplace

        public <ResultT> RealmResultTask<ResultT> findOneAndReplace​(Bson filter,
                                                                    Bson replacement,
                                                                    Class<ResultT> resultClass)
        在collection中查找文档并将其替换为给定文档。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        replacement - 用于替换匹配文档的文档
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • findOneAndReplace

        public <ResultT> RealmResultTask<ResultT> findOneAndReplace​(Bson filter,
                                                                    Bson replacement,
                                                                    FindOneAndModifyOptions options,
                                                                    Class<ResultT> resultClass)
        在collection中查找文档并将其替换为给定文档。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        replacement - 用于替换匹配文档的文档
        options - FindOneAndModifyOptions结构体
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • findOneAndDelete

        public RealmResultTask<DocumentT> findOneAndDelete​(Bson filter)
        在集合中查找文档并将其删除。
        参数:
        filter - 查询筛选器
        返回:
        包含生成文档的任务
      • findOneAndDelete

        public <ResultT> RealmResultTask<ResultT> findOneAndDelete​(Bson filter,
                                                                   Class<ResultT> resultClass)
        在集合中查找文档并将其删除。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • findOneAndDelete

        public <ResultT> RealmResultTask<ResultT> findOneAndDelete​(Bson filter,
                                                                   FindOneAndModifyOptions options,
                                                                   Class<ResultT> resultClass)
        在集合中查找文档并将其删除。
        类型参数:
        ResultT - 可迭代对象的目标文档类型。
        参数:
        filter - 查询筛选器
        options - FindOneAndModifyOptions结构体
        resultClass - 将每个文档解码为的类
        返回:
        包含生成文档的任务
      • 观看

        public RealmEventStreamTask<DocumentT> watch()
        监视collection。生成的流将收到有关此集合的所有事件的通知,根据配置的 MongoDB Realm 规则,授权活动用户查看这些事件。
        返回:
        提供对变更事件流的访问权限的任务。
      • 观看

        public RealmEventStreamTask<DocumentT> watch​(BsonValue... ids)
        监视collection中的指定ID。
        参数:
        ids - 要监视的 ID。
        返回:
        提供对变更事件流的访问权限的任务。
      • 观看

        public RealmEventStreamTask<DocumentT> watch​(ObjectId... ids)
        监视collection中的指定ID。这种便利重载通过将 的非 实例包装在用户的BsonValue ObjectIdBsonObjectId实例中来支持这些使用案例。
        参数:
        ids - 要监视的 ID 的唯一对象标识符。
        返回:
        提供对变更事件流的访问权限的任务。
      • watchAsync

        public RealmEventStreamAsyncTask<DocumentT> watchAsync()
        异步监视collection。生成的流将收到有关此集合的所有事件的通知,根据配置的 MongoDB Realm 规则,授权活动用户查看这些事件。
        返回:
        提供对变更事件流的访问权限的任务。
      • watchAsync

        public RealmEventStreamAsyncTask<DocumentT> watchAsync​(BsonValue... ids)
        异步监视collection中的指定ID。
        参数:
        ids - 要监视的 ID。
        返回:
        提供对变更事件流的访问权限的任务。
      • watchAsync

        public RealmEventStreamAsyncTask<DocumentT> watchAsync​(ObjectId... ids)
        异步监视集合中的指定 ID。 这种便利重载通过将 的非 实例包装在用户的BsonValue ObjectIdBsonObjectId实例中来支持这些使用案例。
        参数:
        ids - 要监视的 ID 的唯一对象标识符。
        返回:
        提供对变更事件流的访问权限的任务。