我在使用MongoDb时遇到了一些麻烦。
假设我有一个MyObject集合,其中:
MyObject
{
public Guid Guid { get;set; }
public List<BsonValue> Identifiers { get;set; }
public List<string> Tags { get;set; }
}
现在我插入一组标识符设置为:
的对象new List<BsonValue>{"A"} *
new List<BsonValue>{"D"}
new List<BsonValue>{"A", "B"} *
new List<BsonValue>{"C", "D"}
new List<BsonValue>{"A", "B", "C"} *
new List<BsonValue>{"A", "B", "C", "D"}
现在我来了一个包含以下值的测试用例:
"A", "B", "C"
我想检索上面标有*的记录...我玩过Query.In但是我收到错误无法从BsonType ObjectId反序列化Guid
一点点额外的清晰度:
我已经设法通过代码实现了我想要的东西。但是,如果有人能指出我更方便的方法,我会很高兴。但是这样做。
var query = new List<BsonValue>{"A","B","C"};
var results = collection.FindAs<MyObject>(Query.In("Identifiers", query));
var valid = results.Where(r => !r.Identifiers.Except(a).Any()).ToList();
答案 0 :(得分:0)
var query = new List<BsonValue>{"A","B","C"};
var results = collection.FindAs<MyObject>(Query.In("Identifiers", query));
var valid = results.Where(r => !r.Identifiers.Except(a).Any()).ToList();