"新BsonValue [] {x,y,z}做什么?

时间:2015-06-16 20:05:48

标签: c# mongodb mongodb-.net-driver

此代码与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值?

1 个答案:

答案 0 :(得分:1)

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 {“Name”:“Book”,“Pages”:3}

隐式转换有助于初始化变量
BsonValue bsonInt = 1;
BsonValue bsonBool = true;
new BsonValue[] { 1, 2, 3, 4 }

相关问题