zoukankan      html  css  js  c++  java
  • .NET MongoDB Driver 2.2 API注释

    主要内容

    1 MongoClient

      1.1构造函数

      1.2 方法

    2 IMongoDatabase

    3 IMongoCollection

    4 IMongoCollectionExtensions

    5 DeleteResult

    6 UpdateResult

    7 IFindFluent<TDocument, TDocument> 继承了

    8 IFindFluentExtensions

    9 IAsyncCursorSourceExtensions

    10 Builders<DocumentInfo> 构造器

    11 FilterDefinitionBuilder<TDocument>

    12 FilterDefinition<TDocument>:基本过滤器

    13 ProjectionDefinitionBuilder<TDocument>

    14 SortDefinitionBuilder<TDocument>

    15 UpdateDefinitionBuilder<TDocument>

    16 BsonDocument:表示一个BSON文档

    17 IBsonSerializerExtensions:扩展自IBsonSerializer

    18 BsonDeserializationContext

    19 AggregateOptions

    1 MongoClient

    1.1构造函数

    1)public MongoClient(MongoClientSettings settings);

      MongoClientSettings:和MongoUrl功能基本一致,但MongoClientSettings的属性多半是可修改类型。

    2)public MongoClient(MongoUrl url);

      MongoUrl :通过构造函数public MongoUrl(string url)设置连接utl。请注意,MongoUrl 的属性均为只读类型。

    3)public MongoClient(string connectionString);

      connectionString为连接字符串,标准连接字符串样式:

      mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]

    参数说明:

      mongodb://

        必选。指明此链接字符串具有标准格式

      username:password@

        可选。如果指定,客户端将尝试使用这些凭证登陆到具体的数据库

      host1

        必选。指定了服务器连接地址。它确定了一个主机名,IP地址,或UNIX域套接字。

      :port1

        可选。默认值为27017,如果未指定则为默认值。

      hostX

        可选。你可以指定尽可能多的主机,您将指定多个主机,例如,连接到副本集。

      /database

        可选。用于验证的数据库名称,如果连接字符串包含username:password@格式的身份验证凭据。如果没有指定/database并且包含了身份验证凭据,驱动将会验证admin 数据库

      ?options

        可选。格式为:name=value,使用&;分隔每一对值。

     

      例如:mongodb://192.168.22.246,192.168.22.245:2500/?replicaSet=test&connectTimeoutMS=300000

      1)Replica Set Option

        replicaSet指定副本集的名称。

      2)Connection Options

        ssl:默认值是false,不启动TLS / SSL连接;值为ture,启动TLS / SSL连接

        connectTimeoutMS:连接超时值,默认永不超时。单位毫秒。

        socketTimeoutMS:套接字超时值,默认永不超时。单位毫秒。

      3)Connection Pool Options

        maxPoolSize连接池最大连接数,默认值为100。

          minPoolSize连接池最小连接数,默认值为0。

      示例:

      mongodb://test:cnki2016@192.168.22.26:27017/DBFIRST?maxPoolSize=100;minPoolSize=10

     

    1.2 方法

    1)public override sealed void DropDatabase(string name, CancellationToken cancellationToken = null)

    删除数据库

    参数:

      name:数据库名称

      cancellationToken:传播有关应取消操作的通知

     

    2)public override sealed IMongoDatabase GetDatabase(string name, MongoDatabaseSettings settings = null);

    获得数据库

    参数:

      name:数据库名称

      settings:数据库设置

     

    2 IMongoDatabase

    1)void CreateCollection(string name, CreateCollectionOptions options = null, CancellationToken cancellationToken = null)

    创建集合

    参数:

      name:集合名称

      Options:创建集合时的待选参数

      cancellationToken:传播有关应取消操作的通知

    2)void DropCollection(string name, CancellationToken cancellationToken = null);

    删除集合

    参数:

      name:集合名称

      cancellationToken:传播有关应取消操作的通知

    3)IMongoCollection<TDocument> GetCollection<TDocument>(string name, MongoCollectionSettings settings = null)

    获得集合

    参数:

      TDocument:文档类型

      name:集合名称

      settings:数据库设置

    4)void RenameCollection(string oldName, string newName, RenameCollectionOptions options = null, CancellationToken cancellationToken = null)

    重命名集合

    参数:

      oldName:集合旧的名称

      newName:集合新名称

      options:重命名时的设置参数

      cancellationToken:传播有关应取消操作的通知

     

    3 IMongoCollection

    1)DeleteResult DeleteMany(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = null)

    删除多个文档,将过滤出的文档全部删除

    参数:

      TDocument:文档类型

      filter:过滤器

      cancellationToken:传播有关应取消操作的通知

    2) DeleteResult DeleteOne(FilterDefinition<TDocument> filter, CancellationToken cancellationToken = null)

    删除一个文档,将过滤出的文档中第一个删除。

    参数:

      TDocument:文档类型

      filter:过滤器

      cancellationToken:传播有关应取消操作的通知

    3) void InsertMany(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = null)

    插入多个文档

    参数:

      TDocument:文档类型

      documents:待插入文档

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    4) void InsertOne(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = null)

    插入一个文档

    参数:

      documents:待插入文档

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    5) UpdateResult UpdateMany(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = null)

    更新多个文档,将过滤出的多个文档全部更新

    参数:

      TDocument:文档类型

      filter:过滤器

      update:更新过滤器

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    6) UpdateResult UpdateOne(FilterDefinition<TDocument> filter, UpdateDefinition<TDocument> update, UpdateOptions options = null, CancellationToken cancellationToken = null)

    更新一个文档,将过滤出的多个文档中的第一个更新

    参数:

      TDocument:文档类型

      filter:过滤器

      update:更新过滤器

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    7) long Count(FilterDefinition<TDocument> filter, CountOptions options = null, CancellationToken cancellationToken = null)

    获得文档数量

    参数:

      TDocument:文档类型

      filter:过滤器

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    8) Task InsertManyAsync(IEnumerable<TDocument> documents, InsertManyOptions options = null, CancellationToken cancellationToken = null)

    已异步的方式插入多个文档

    参数:

      TDocument:文档类型

      documents:待插入文档

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    9) Task InsertOneAsync(TDocument document, InsertOneOptions options = null, CancellationToken cancellationToken = null)

    以异步方式插入一个文档

    参数:

      TDocument:文档类型

      documents:待插入文档

      options:插入操作设置参数

      cancellationToken:传播有关应取消操作的通知

    10)IBsonSerializer<TDocument> DocumentSerializer { get; }

    获得文档序列化器

    11)IAsyncCursor<TResult> Aggregate<TResult>(PipelineDefinition<TDocument, TResult> pipeline, AggregateOptions options = null, CancellationToken cancellationToken = null)

    聚集操作

    参数:

      TResult:返回结果类型

      TDocument:输入文档类型

      pipeline:管道

      options :设置参数

      cancellationToken :取消标记

    4 IMongoCollectionExtensions

    1)public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoCollection<TDocument> collection, Expression<Func<TDocument, bool>> filter, FindOptions options = null)

    找到文档

    参数:

      TDocument:文档类型

      collection:集合

      filter:查找条件

      options:查找操作设置参数

    2)public static IFindFluent<TDocument, TDocument> Find<TDocument>(this IMongoCollection<TDocument> collection, FilterDefinition<TDocument> filter, FindOptions options = null)

    找到文档

    参数:

      TDocument:文档类型

      collection:集合

      filter:查找条件

      options:查找操作设置参数

    5 DeleteResult 

    1)public abstract long DeletedCount { get; }

    获得删除的条数,如果IsAcknowledged的值为false,将抛出异常

    2)public abstract bool IsAcknowledged { get; }

    结果是否被承认

     

    6 UpdateResult 

    1)public abstract bool IsAcknowledged { get; }

    结果是否被承认

    2)public abstract bool IsModifiedCountAvailable { get; }

    是否可以获得修改的数量

    3)public abstract long MatchedCount { get; }

    匹配到的数量

    4)public abstract long ModifiedCount { get; }

    修改的数量

    5)public abstract BsonValue UpsertedId { get; }

    获得更新插入的id

     

    7 IFindFluent<TDocument, TDocument> 继承了

    1)IFindFluent<TDocument, TProjection> Limit(int? limit)

    限制取出的文档数量

    参数:

      TDocument:文档类型

      TProjection:投影类型,如果没有投影那么其类型和TDocument相同

      limit:取出文档数量

    2)IFindFluent<TDocument, TNewProjection> Project<TNewProjection>(ProjectionDefinition<TDocument, TNewProjection> projection)

    对找到的文档进行投影操作

    参数:

      TDocument:文档类型

      TNewProjection:投影类型,如果没有投影那么其类型和TDocument相同

      projection:投影

    3)IFindFluent<TDocument, TProjection> Skip(int? skip)

    跳过一定数量的文档

    参数:

      TDocument:文档类型

      TProjection:投影类型,如果没有投影那么其类型和TDocument相同

      skip:跳过的条数

    4)IFindFluent<TDocument, TProjection> Sort(SortDefinition<TDocument> sort)

    对找到的文档排序

    参数:

      TDocument:文档类型

      TProjection:投影类型,如果没有投影那么其类型和TDocument相同

      sort:排序定义

     

    8 IFindFluentExtensions

    public static TProjection First<TDocument, TProjection>(this IFindFluent<TDocument, TProjection> find, CancellationToken cancellationToken = null)

    获得找到的第一个元素。

    参数:

      TDocument:文档类型

      TProjection:投影类型,如果没有投影那么其类型和TDocument相同

      find:查找条件

      cancellationToken:传播有关应取消操作的通知

    9 IAsyncCursorSourceExtensions

    public static List<TDocument> ToList<TDocument>(this IAsyncCursorSource<TDocument> source, CancellationToken cancellationToken = null)

    IAsyncCursorSource<TDocument> source转换为List<TDocument>

    参数:

      TDocument:文档类型

      source:待转换集合

      cancellationToken:传播有关应取消操作的通知

    -----------------------------------------------------------------------------------------

    转载与引用请注明出处。

    时间仓促,水平有限,如有不当之处,欢迎指正。

  • 相关阅读:
    POJ 1469 COURSES 二分图最大匹配
    POJ 1325 Machine Schedule 二分图最大匹配
    USACO Humble Numbers DP?
    SGU 194 Reactor Cooling 带容量上下限制的网络流
    POJ 3084 Panic Room 求最小割
    ZOJ 2587 Unique Attack 判断最小割是否唯一
    Poj 1815 Friendship 枚举+求最小割
    POJ 3308 Paratroopers 最小点权覆盖 求最小割
    1227. Rally Championship
    Etaoin Shrdlu
  • 原文地址:https://www.cnblogs.com/hdwgxz/p/8335252.html
Copyright © 2011-2022 走看看