Базовый пример использования пакета MongoDb.Driver .Вам понадобятся определенные типы данных, например:
// Use [BsonIgnoreExtraElements] attribute when not defining ALL fields in record
internal class MainRecord
{
public ObjectId _id { get; set; }
public List<ArrayItem> ResourceStatus { get; set; }
// All the other fields here
}
// [BsonIgnoreExtraElements] as above
internal class ArrayItem
{
public string E2EId { get; set; }
}
(Примечание. Я пропустил все поля, необязательные для поиска по массиву).
Затем для фактического запросаданные:
var client = new MongoClient();
IMongoDatabase db = client.GetDatabase("database-name-here");
var collectionName = "collection-name-here";
IMongoCollection<MainRecord> collection = db.GetCollection<MainRecord>(collectionName);
var filter = Builders<MainRecord>.Filter.ElemMatch(x => x.ResourceStatus, x => x.E2EId == "1fdsfsfsfsfsffds0");
var result = collection.Find(filter);
РЕДАКТИРОВАТЬ: И я бы рекомендовал посмотреть этот пост , который дает несколько альтернативных подходов.