我在Mongo有一个收藏。
我有两个字段:校验和和校验和N-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);我只想有一个文件,其中字段校验和和校验和N-4是不同的。
例如:
Cheksum : 2222222
checksumN-4 : 2222222我想要这张唱片
Checksum : 8888888
ChecksumN-4 : 8889998我不想要这张唱片
我如何在c#中做到这一点?
发布于 2020-10-06 20:34:29
您可以尝试使用如下表达式创建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"
})));https://stackoverflow.com/questions/64224766
复制相似问题