当前位置: 首页 > 编程笔记 >

MongoDB中查询数组以获取特定值

詹联
2023-03-14
本文向大家介绍MongoDB中查询数组以获取特定值,包括了MongoDB中查询数组以获取特定值的使用技巧和注意事项,需要的朋友参考一下

要从数组中获取特定值,请使用aggregate()和$project。让我们创建一个包含文档的集合-

> db.demo761.insertOne(
...    {
...       "details": [
...          {
...             "student": {
...                "FullName": "Chris Brown"
...             }
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb034d15637cd592b2a4af1")
}
> db.demo761.insertOne(
...    {
...       "details": [
...          {
...             "student": {
...                "FullName": "Chris Taylor"
...             }
...          }
...       ]
...    }
... );
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5eb034d25637cd592b2a4af2")
}

在find()方法的帮助下显示集合中的所有文档-

> db.demo761.find();

这将产生以下输出-

{ "_id" : ObjectId("5eb034d15637cd592b2a4af1"), "details" : [ { "student" : { "FullName" : "Chris Brown" } } ] }
{ "_id" : ObjectId("5eb034d25637cd592b2a4af2"), "details" : [ { "student" : { "FullName" : "Chris Taylor" } } ] }

以下是如何在MongoDB中查询数组-

> db.demo761.aggregate([
...    {'$unwind':'$details'},
...    {'$match': {
...       'details.student.FullName':'Chris Taylor',
...    }},
...    {'$project': {
...       'details.student.FullName': 1, '_id': 0
...    }},
... ])

这将产生以下输出-

{ "details" : { "student" : { "FullName" : "Chris Taylor" } } }

 类似资料:
  • 本文向大家介绍MongoDB查询以获取特定数量的项目,包括了MongoDB查询以获取特定数量的项目的使用技巧和注意事项,需要的朋友参考一下 要获取特定数量的项目,请在MongoDB中使用$slice运算符。让我们创建一个包含文档的集合- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是仅获取2个项目的查询- 这将产生以下输出-

  • 如何获得最大截面。Id位于下面的文档中,其中包含集合_id=一些参数 我在下面试过了 但是,它不是返回max int单个值,而是返回一个包含部分数组中所有Ids的数组。 在节点中执行时,进一步执行相同的查询。js它返回一个空数组。

  • 我在代码中使用条件查询。它总是激发 相反,我想忽略查询中的一列(字段),因为该字段以字节形式存储了大量数据。导致性能问题。 有谁能给出一个主意吗? 一些更新 我在查询中添加了一个投影,它创建了一个类似... 现在问题就像..中的未知列“y4_”以及y8_和y5_的相同错误意味着关闭它给出错误的所有内容。 我把它修改成像... 而且奏效了。但是不知道在HQL里面怎么修改?

  • 本文向大家介绍MongoDB查询以删除特定文档,包括了MongoDB查询以删除特定文档的使用技巧和注意事项,需要的朋友参考一下 要删除特定文档,请在MongoDB中使用。让我们创建一个包含文档的集合- 在方法的帮助下显示集合中的所有文档- 这将产生以下输出- 以下是删除特定文档的查询- 在方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 问题内容: 我在代码中使用了条件查询。它总是会开火 相反,我想忽略查询中的一列(字段),因为该字段以字节为单位存储大量数据。这会导致性能问题。 有人可以对此提出想法吗? 一些更新 我在查询中添加了一个投影,它创建了一个查询,例如… 现在的问题就像.. 和y8_的相同错误,y5_表示所有接近它给出错误的地方。 我将其修改为Query … 而且有效。但是我不知道如何在HQL中对其进行修改? 问题答案:

  • 问题内容: 我的表数据: 我需要像这样的输出 =我需要按fieldId分组。 =计算每组记录。 =这是我仅在需要分组记录数时才需要的列。 可以通过单个查询完成吗?如果是,请说明如何?如果否,那么最有效的方法是什么? 问题答案: 如果愿意,也可以使用RegEx。