“new BsonValue[]{x,y,z} 是做什么的?
What does "new BsonValue[]{x,y,z} do?
此代码与 C# 驱动程序一起用于 select 项目文档中的项目,这些项目的位置字段值在位置 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# list/array 转换为该 bson 值?
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# class 转换为 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 }
此代码与 C# 驱动程序一起用于 select 项目文档中的项目,这些项目的位置字段值在位置 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# list/array 转换为该 bson 值?
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# class 转换为 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 }