What does "new BsonValue[]{x,y,z} do?

本文关键字:do quot does new BsonValue What | 更新日期: 2023-09-27 17:56:30

此代码与 C# 驱动程序一起使用,以从位置 ID 值范围内具有位置字段值的项目文档中选择项目,我只是提供它作为示例:

 var locations = new BsonValue[] { 1, 2, 3, 4 };
 var data = collection
            .Find(Builders<BsonDocument>.Filter.In("LocationId", locations))
            .Project(x => Mapper.Map<BsonDocument, ItemViewModel>(x))
            .ToListAsync().Result;

BsonValue 只是用来初始化这里的数组吗?我在哪里可以获得更多信息?如何将常规 C# 列表/数组转换为该 bson 值?

What does "new BsonValue[]{x,y,z} do?

BsonDocument提供了在C#中表示JSON/BSON的灵活方法。创建BsonDocument类似于创建 JSON 对象。

简单文档
new BsonDocument("name", "Joe")创建 JSON { "name" : "Joe" }

更复杂的文档

new BsonDocument
{
    {"Name", "Joe"},
    {
        "Books", new BsonArray(new[]
        {
            new BsonDocument("Name", "Book1"),
            new BsonDocument("Name", "Book2")
        })
    }
}

创建 JSON {"Name":"Joe", "Books" : [ { "Name":"Book1" },{ "Name":"Book2" } ]}

数组
new BsonArray(new [] {1, 2, 3})创建 JSON [1,2,3]

将 C# 类转换为 BsonDocument
var product = new Product{ Name = "Book", Pages = 3}.ToBsonDocument() 创建 JSON {"名称":"书籍","页面":3}

隐式转换有助于初始化变量

BsonValue bsonInt = 1;
BsonValue bsonBool = true; new BsonValue[] { 1, 2, 3, 4 }