C# 比较同一集合中的两个字段
我在蒙戈有一个收藏 我有两个字段:checksum和checksumN-4 我已经制作了这样的过滤器:C# 比较同一集合中的两个字段,c#,mongodb,C#,Mongodb,我在蒙戈有一个收藏 我有两个字段:checksum和checksumN-4 我已经制作了这样的过滤器: var filter = Builders<BsonDocument>.Filter.Eq("metadata.origin", sOrigin.ToString()) & Builders<BsonDocument>.Filter.Eq("metadata.transfered", Bson
var filter = Builders<BsonDocument>.Filter.Eq("metadata.origin", sOrigin.ToString())
& Builders<BsonDocument>.Filter.Eq("metadata.transfered", BsonNull.Value)
& Builders<BsonDocument>.Filter.Eq("metadata.duplicate", BsonNull.Value)
& Builders<BsonDocument>.Filter.Eq("metadata.malformed", BsonNull.Value);
我想要这张唱片
Checksum : 8888888
ChecksumN-4 : 8889998
我不要这张唱片
Checksum : 8888888
ChecksumN-4 : 8889998
如何在c#中实现这一点?您可以尝试使用以下表达式创建
BsonDocumentFilterDefinition
:
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("metadata.origin", sOrigin.ToString())
& builder.Eq("metadata.transfered", BsonNull.Value)
& builder.Eq("metadata.duplicate", BsonNull.Value)
& builder.Eq("metadata.malformed", BsonNull.Value)
& new BsonDocumentFilterDefinition<BsonDocument>(new BsonDocument(
"$expr", new BsonDocument(
"$eq", new BsonArray
{
"$checksumN-4", "$checksum"
})));
var builder=Builders.Filter;
var filter=builder.Eq(“metadata.origin”,sOrigin.ToString())
&Eq(“metadata.transfered”,BsonNull.Value)
&Eq(“metadata.duplicate”,BsonNull.Value)
&Eq(“metadata.malformed”,BsonNull.Value)
&新BsonDocumentFilterDefinition(新BsonDocument(
“$expr”,新的B文件(
“$eq”,新BsonArray
{
$checksumN-4“,$checksum”
})));
您可以尝试使用如下表达式创建BsonDocumentFilterDefinition
:
var builder = Builders<BsonDocument>.Filter;
var filter = builder.Eq("metadata.origin", sOrigin.ToString())
& builder.Eq("metadata.transfered", BsonNull.Value)
& builder.Eq("metadata.duplicate", BsonNull.Value)
& builder.Eq("metadata.malformed", BsonNull.Value)
& new BsonDocumentFilterDefinition<BsonDocument>(new BsonDocument(
"$expr", new BsonDocument(
"$eq", new BsonArray
{
"$checksumN-4", "$checksum"
})));
var builder=Builders.Filter;
var filter=builder.Eq(“metadata.origin”,sOrigin.ToString())
&Eq(“metadata.transfered”,BsonNull.Value)
&Eq(“metadata.duplicate”,BsonNull.Value)
&Eq(“metadata.malformed”,BsonNull.Value)
&新BsonDocumentFilterDefinition(新BsonDocument(
“$expr”,新的B文件(
“$eq”,新BsonArray
{
$checksumN-4“,$checksum”
})));
@LinedaChouaki如果解决了您的问题,请标记为答案。@LinedaChouaki如果解决了您的问题,请标记为答案。