在 MongoDB 中查询非空值

这篇 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}})

运行上述查询时返回的结果可以在下面的屏幕截图中看到。

在 MongoDB 中查询非空值

你发现所有没有 points 字段值指定为空的此类文档。

在 MongoDB 中 $ne 运算符的数值字段上查询 is Not Null

在这种情况下,你将选择那些没有数值字段值为空的文档。对于此示例,你可以使用下面的查询。

db.teams.find({position:{$ne:null}})

运行上述查询时返回的结果可以在下面的屏幕截图中看到。

在 MongoDB 中查询非空值

你可以再次在 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 中查询非空值

这次你无法找到新添加的文档。

在 MongoDB 中 $eq 运算符指定非 Null 值

在此示例中,你将使用 $eq 运算符来查询非空值,因为你将传递一个要查找的值,以用外行的术语查询该不是空值。

让我们寻找排名第三的球队。对于此示例,你可以使用下面的查询。

db.teams.find({position:{$eq:"3rd"}})

运行上述代码时返回的结果可以在下面的屏幕截图中看到。

在 MongoDB 中查询非空值

你在集合中找到了当前排名第三的团队。

因此,通过这篇 MongoDB 文章的帮助,你学习了如何使用 $ne$eq 运算符查询非空值。