0
我在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"
我想檢索標記有記錄的記錄N *以上...我玩弄了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();
的盡頭有固定的問題。我沒有清理我的數據庫。清理它並開始新鮮 - 現在開心。 Query.In返回 –