У меня есть очень простой запрос для Монго:Проверьте поле Равно Null в MongoDb C# Driver 2,0
db.items.find({ MyFieldName: { $exists: true, $eq: null } });
Не то, что ему нужно объяснить, но он находит документы, которые имеют MyFieldName
и где значение это поле null
. Похоже, что это было бы очень просто сделать с водителем C#:
var fieldExistsFilter= Builders<BsonDocument>.Filter.Exists("MyFieldName", true);
var fieldValueIsNullFilter = Builders<BsonDocument>.Filter.Eq("MyFieldName", null);
Однако второй фильтр, fieldValueIsNullFilter
, не строить, если я пытаюсь проверить нуль. Он отлично работает, если я пишу "testString"
или что-то в этом роде, но не с нулевым.
tl: dr; version: Как создать фильтр, чтобы проверить, является ли поле null в MongoDb C# драйвером?
Заметь, я проверил другие ответы, и они рекомендуют $ существует ли то, что я хочу - это делает не так, как на mongo docs:
Когда правда, $ существует сопоставляет документы, содержащие поле, включая документы, в которых значение поля равно. Если является ложным, запрос возвращает только те документы, которые не содержат поля .
Это ответ, вы должны принять его как ответ. В этом нет ничего плохого. –
Хорошо, сделаю. Похоже, есть двухдневный обратный отсчет, прежде чем я смогу его принять. – VSO