在 MongoDB 中查询非空值

Tahseen Tauseef 2023年1月30日 2022年5月13日
  1. MongoDB 中的 $ne 运算符
  2. MongoDB 中的 $eq 运算符
  3. 在 MongoDB 中查询 is Not Null
  4. $ne 运算符查询 MongoDB 中字符串字段上的 is Not Null
  5. 在 MongoDB 中 $ne 运算符的数值字段上查询 is Not Null
  6. 在 MongoDB 中 $ne 运算符查询非空值
  7. 在 MongoDB 中 $eq 运算符指定非 Null 值
在 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
  }
})

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

新运营商 1

你发现所有没有 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: ""
  }
})

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

ne 运算符 2

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

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

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

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

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

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

eq 运算符

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

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

相关文章 - MongoDB Query