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