有谁知道我是否可以在 c# 的 mongo 单元上运行这个模式。我也生成了一个 BsonArray,但我不知道如何在上下文中编译它,有人可以帮忙吗?下面的原始模式正在工作,我只是更改了字段的名称,因此可能存在语法错误,但我不知道如何在 c# 中运行它。
C#:
_db.GetCollection.Aggregate()....
BsonArray:
return new BsonArray
{
new BsonDocument("$limit", 1),
new BsonDocument("$project", new BsonDocument("_id", "$$REMOVE")),
new BsonDocument("$lookup", new BsonDocument
{
{ "from", "table1" },
......
Schema:
[
{
"$limit":1
},
{
"$project":{
"_id":"$$REMOVE"
}
},
{
"$lookup":{
"from":"Table1",
"pipeline":[
{
"$match":{
"date":{
"$gte":"ISODate(""2010-04-29T00:00:00.000Z"")",
"$lt":"ISODate(""2030-04-29T00:00:00.000Z"")"
}
}
},
{
"$addFields":{
"id":"$_id",
"value":1
}
},
{
"$project":{
"_id":0,
"typevalue":0
}
}
],
"as":"Table1"
}
},
{
"$lookup":{
"from":"Table2",
"pipeline":[
{
"$match":{
"dateInit":{
"$gte":"ISODate(""2010-04-29T00:00:00.000Z"")",
"$lt":"ISODate(""2030-04-29T00:00:00.000Z"")"
},
"externalId":1,
}
},
{
"$addFields":{
"id":"$_id",
"number":"$number",
"client":"$client",
"date":"$dateInit",
"value":"$value",
"status":0,
"event":[],
"file":"$arrayByte"
}
},
{
"$project":{
"_id":0,
"date":0,
"arrayByte":0,
"Rows":0
}
}
],
"as":"Table2"
}
},
{
"$project":{
"union":{
"$concatArrays":[
"$Table1",
"$Table2"
]
}
}
},
{
"$unwind":"$union"
},
{
"$replaceRoot":{
"newRoot":"$union"
}
},
{
"$sort":{
"date":-1
}
},
{
"$skip":1
}
]