- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
这是我的数据结构。
[{
"name": "David",
"lastname": "",
},
{
"name": "Angela"
}]
“姓氏”有时存在,有时不存在,有时为“”。
我想获取所有姓氏不等于“”的行。但这不起作用。当 lastname 为 ""和 lastname 根本不存在时,它会返回两行。在上面的示例中,我只想获取 David 节点。
db.collection.find( {"lastname": {"$ne": ""}} )
最佳答案
db.collection.find({"lastname" : {"$exists" : true, "$ne" : ""}})
在 mongo shell 中(省略 id 以节省空间)
> db.collection.find()
{ "name" : "Angela" }
{ "name" : "David", "lastname" : "" }
{ "name" : "Kyle", "lastname" : "Test" }
{ "name" : "John", "lastname" : null }
> db.collection.find({"lastname" : {"$exists" : true, "$ne" : ""}})
{ "name" : "Kyle", "lastname" : "Test" }
{ "name" : "John", "lastname" : null }
如果您还想过滤掉与 null 值的匹配项,您需要按如下方式调整条件(我们也可以将 $exists 删除为 "$ne":null 负责这一点)
> db.collection.find({$and:[{"lastname": {"$ne": null}}, {"lastname": {"$ne": ""}}]})
{ "name" : "Kyle", "lastname" : "Test" }
关于mongodb - 在 mongodb 和 pymongo 中测试空字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9694223/
我正在尝试创建一个程序,其中字符串的前三个字符重复给定次数,如下所示: foo('Chocolate', 3) # => 'ChoChoCho' foo('Abc', 3) # => 'AbcAbcA
我有以下字符串: std::string str = "Mode:AAA:val:101:id:A1"; 我想分离一个位于 "val:" 和 ":id" 之间的子字符串,这是我的方法: std::st
DNA 字符串可以是任意长度,包含 5 个字母(A、T、G、C、N)的任意组合。 压缩包含 5 个字母(A、T、G、C、N)的 DNA 字母串的有效方法是什么?不是考虑每个字母表 3 位,我们可以使用
是否有一种使用 levenstein 距离将一个特定字符串与第二个较长字符串中的任何区域进行匹配的好方法? 例子: str1='aaaaa' str2='bbbbbbaabaabbbb' if str
使用 OAuth 并使用以下函数使用我们称为“foo”(实际上是 OAuth token )的字符串加密 key public function encrypt( $text ) { // a
我是一名优秀的程序员,十分优秀!