Как проверить идентификатор документа по списку идентификаторов? - PullRequest
0 голосов
/ 17 февраля 2020

Я использую драйвер C# для Mongodb, и мне было интересно, как найти какие-либо документы с идентификатором (int), которые соответствуют списку идентификаторов (List).

Теоретически, если Я проверял список в каждом документе для единственного int, я мог использовать «EqAny (c => c .IDs, 32)», однако я ищу противоположность тому, где я могу проверить один int в документе, чтобы посмотрите, совпадает ли он с каким-либо из списка целых чисел.

Мой текущий код такой, который возвращает все документы из-за строки "var filter = FilterDefinition.Empty;"

public void GetSerialsForZones(List<int> zoneIds)
{
    IMongoDatabase db = MongoClient.GetDatabase(DatabaseName);
    IMongoCollection<ZoneMessage> collection = db.GetCollection<ZoneMessage>(CollectionName);

    var filter = FilterDefinition<ZoneMessage>.Empty;
    foreach (int zoneId in zoneIds)
        filter &= Builders<ZoneMessage>.Filter.Eq(c => c.ID, zoneId);

    var result = await collection.Find(filter).ToListAsync();
}

Код был изменен для упрощения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...