gpt4 book ai didi

mongodb - 在 mongodb 和 pymongo 中测试空字符串

转载 作者:IT老高 更新时间:2023-10-28 11:06:39 25 4
gpt4 key购买 nike

这是我的数据结构。

[{
"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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com