在 MongoDB 中查询非空值
-
MongoDB 中的
$ne运算符 -
MongoDB 中的
$eq运算符 -
在 MongoDB 中查询
is Not Null值 -
$ne运算符查询 MongoDB 中字符串字段上的is Not Null值 -
在 MongoDB 中
$ne运算符的数值字段上查询is Not Null -
在 MongoDB 中
$ne运算符查询非空值 -
在 MongoDB 中
$eq运算符指定非 Null 值
这篇 MongoDB 文章将解释如何在 MongoDB 中查询非空值。要查询非空值,你可以使用 $ne 运算符和 $eq 运算符,然后指定要查询的所需值。
本文向读者展示了如何使用各种方法和示例在 MongoDB 中查询非空值。所以,让我们开始这个指南。
MongoDB 中的 $ne 运算符
该运算符的语法是:
{ field: { $ne: value } }
$ne 运算符选择 field 的值与给定 value 不同的所有文档。它包括不包含 field 的文档。
MongoDB 中的 $eq 运算符
此运算符指定相等条件。例如,$eq 运算符匹配 field 的值等于指定 value 的文档。
此运算符的语法是:
{ <field>: { $eq: <value> } }
指定 $eq 运算符等效于使用形式 { field: <value> },除非 <value> 是正则表达式。
在 MongoDB 中查询 is Not Null 值
现在让我们通过查看如何实现这一目标的示例来帮助你开始。
下面是你将用来说明一些操作的集合。
db={
"teams": [
{
team: "Manchester City",
position: "1st",
points: 70
},
{
team: "Liverpool",
position: null,
points: 69
},
{
team: "Chelsea",
position: "3rd",
points: 59
},
{
team: "Arsenal",
position: "4th",
points: null
},
{
team: "Tottenham",
position: "5th",
points: 51
},
{
team: "Manchester United",
position: "6th",
points: 50
},
]
}
$ne 运算符查询 MongoDB 中字符串字段上的 is Not Null 值
你将使用 $ne 运算符将表达式传递给 $ne 运算符,该运算符否定特定字段的空值,以查询在本示例中不为空的字符串字段。对于此示例,你可以使用下面的查询。
db.teams.find({
points: {
$ne: null
}
})
运行上述查询时返回的结果可以在下面的屏幕截图中看到。

你发现所有没有 points 字段值指定为空的此类文档。
在 MongoDB 中 $ne 运算符的数值字段上查询 is Not Null
在这种情况下,你将选择那些没有数值字段值为空的文档。对于此示例,你可以使用下面的查询。
db.teams.find({
position: {
$ne: null
}
})
运行上述查询时返回的结果可以在下面的屏幕截图中看到。

你可以再次在 position 字段中找到没有 null 作为值的文档。
在 MongoDB 中 $ne 运算符查询非空值
在此示例中,你将使用带有空白字符串的 $ne 运算符来查询 MongoDB 中的非空值。
由于你在上面使用的集合没有任何此类具有空白字符串值的文档,你可以在集合中添加一些。以下文档将添加到集合中,如下所示。
db={
"teams": [
{
team: "Manchester City",
position: "1st",
points: 70
},
{
team: "Liverpool",
position: null,
points: 69
},
{
team: "Chelsea",
position: "3rd",
points: 59
},
{
team: "Arsenal",
position: "4th",
points: null
},
{
team: "Tottenham",
position: "5th",
points: 51
},
{
team: "Manchester United",
position: "6th",
points: 50
}, {
team: "West Ham",
position: "",
points: 48
},
{
team: "Wolves",
position: "",
points: 46
}
]
}
好的,现在你的收藏中又添加了两个文档,你可以开始了。现在你可以使用 $ne 运算符通过指定一个空白字符串来查询非空值。
对于此示例,你可以使用下面的查询。
db.teams.find({
position: {
$ne: ""
}
})
运行上述代码时返回的结果可以在下面的屏幕截图中看到。

这次你无法找到新添加的文档。
在 MongoDB 中 $eq 运算符指定非 Null 值
在此示例中,你将使用 $eq 运算符来查询非空值,因为你将传递一个要查找的值,以用外行的术语查询该不是空值。
让我们寻找排名第三的球队。对于此示例,你可以使用下面的查询。
db.teams.find({
position: {
$eq: "3rd"
}
})
运行上述代码时返回的结果可以在下面的屏幕截图中看到。

你在集合中找到了当前排名第三的团队。
因此,通过这篇 MongoDB 文章的帮助,你学习了如何使用 $ne 和 $eq 运算符查询非空值。