早上好,鉴于我对数据库没有广泛的了解,因此我被要求开发一个从抽象Database类派生的通用MongoDB类,并使用SQL语法为MongoDB实现“插入”,“选择”,“更新”和“删除”方法。输入。我在转换这样的查询时遇到困难
SELECT auto,Part,Entity_ID,Pos_Z
FROM Nesting
WHERE Part='033TRAVERSOLATERALE3' or (Part='033TRAVERSOLATERALE1' and Pos_Z=-90)
ORDER BY Pos_Z ASC, Entity_ID DESC
在MongoDB中,也借助聚合框架。有人可以告诉我查询转换是否已经有nuget包或代码段吗?我找到了一些有用的工具,但没有库或源。除了解析SQL WHERE参数字符串以转换查询外,没有其他方法吗?
Part='033TRAVERSOLATERALE3' or (Part='033TRAVERSOLATERALE1' and Pos_Z=-90)
使用此参数进入MongoDB $ match阶段:
{
$or:[{Part: {$eq:'033TRAVERSOLATERALE3'}}, {$and:[{Part: {$eq:'033TRAVERSOLATERALE1'}}, {Pos_Z: {$eq:-90}}]}]
}
或
BsonDocument filter = new BsonDocument();
filter.Add("$or", new BsonArray()
.Add(new BsonDocument()
.Add("Part", "033TRAVERSOLATERALE3")
)
.Add(new BsonDocument()
.Add("$and", new BsonArray()
.Add(new BsonDocument()
.Add("Part", "033TRAVERSOLATERALE1")
)
.Add(new BsonDocument()
.Add("Pos_Z", new BsonInt64(-90L))
)
)
)
);
对此“肮脏”工作的任何帮助将不胜感激。谢谢