Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 比较同一集合中的两个字段_C#_Mongodb - Fatal编程技术网

C# 比较同一集合中的两个字段

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

我在蒙戈有一个收藏

我有两个字段:checksum和checksumN-4

我已经制作了这样的过滤器:

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如果解决了您的问题,请标记为答案。