Eri*_*ada 7 c# mongodb mongodb-query mongodb-.net-driver
我试图获得具有空字符串的字段的文档数.这个字段,让我们称之为"Field_One"存在于所有文档中(因此,要清楚,我不是要查找字段是否存在,我想在字段中找到哪些文档没有任何内容(空字符串)"Field_One ".
我尝试使用(使用C#驱动程序):
collection.Find(Query.NE("Field_One", BsonNull.Value)).Count()
collection.Find(Query.NE("Field_One", BsonString.Null)).Count()
Run Code Online (Sandbox Code Playgroud)
甚至(有人在某处建议):
collection.Find(Query.GT("Field_One", BsonString.Empty)).Count()
Run Code Online (Sandbox Code Playgroud)
但它不起作用(它们返回所有文件).
另外,作为一个相关问题:这是获取集合中匹配文档数量的最佳方法吗?据我所知,它实际上不会将文档从数据库检索到我的程序,因此计数计算在MongoDB服务器中完成.
小智 11
BsonNull.Value转换为null
BsonString.Empty转换为""
BsonObject.Create("")转换为""
collection.Find(Query.NE("Field_One", BsonString.Empty)).Count()
Run Code Online (Sandbox Code Playgroud)
"Field_One": { "$ne": "" }如果该字段实际上填充了"",则转化为您正在寻找的内容
为了测试一个字符串不是空的,在Javascript中它只是:
collection.find({Field_One:{ $ne: "" }})
Run Code Online (Sandbox Code Playgroud)
见$ ne.我无法帮你翻译成C#驱动程序语言.