Я пытаюсь получить количество документов, у которых есть поле с пустой строкой. Это поле позволяет называть его «Field_One» присутствует во всех документах (поэтому, чтобы быть ясным, я не пытаюсь найти, существует ли это поле или нет, я хочу найти, какие документы не имеют ничего (пустая строка) в поле «Field_One» »Как проверить, что поле строки в документе MongoDB не пусто?
Я попытался с помощью (с помощью C# драйвер):.
collection.Find(Query.NE("Field_One", BsonNull.Value)).Count()
collection.Find(Query.NE("Field_One", BsonString.Null)).Count()
и даже (кто-то предложил это где-то):
collection.Find(Query.GT("Field_One", BsonString.Empty)).Count()
Но это не работает (они возвращают все документы).
Кроме того, в качестве связанного вопроса: Это лучший способ получить количество соответствующих документов в коллекции? Насколько я понимаю, он фактически не извлекает документы из базы данных в мою программу, поэтому подсчет подсчета выполняется на сервере MongoDB.
подсчет да выполняется на сервере. точно так же, как проверка работоспособности, когда вы говорите пустую строку, отображается ли она как значение «», когда вы извлекаете документ и просматриваете это поле? –
Привет, Ася, спасибо за ваш ответ. Я набрал JSON, и он показывает как «» для тех документов, у которых нет данных в этом поле. Итак, поле есть, типа String и имеет «» для некоторых документов и имеет информацию для других. –
в оболочке mongo вы можете попробовать: db.collection.find ({поле: {$ type: 10}}). Проверьте эту документацию: http://docs.mongodb.org/manual/reference/operator/type/ – genericuser