在数组mongodb中查找嵌入式对象

史蒂文·拉米雷斯

我正在使用Mongoose和Express创建API,并且需要您的帮助才能在hotels数组中查找特定文档我需要找到与id特定值匹配的文档

这是模式:

{
  "_id": "5e181fed9fc1883a69797e3a",
  "hotels": [
    {
      "name": "Hotel Emperador",
      "stars": 4,
      "price": 1596,
      "imagen": "https://i.ibb.co/RHYqxjL/hotel1.jpg",
      "id": 1
    },
    {
      "name": "Hotel Sonesta",
      "starts": 4,
      "price": 2400,
      "imagen": "https://i.ibb.co/kx06vbZ/hotel2.jpg",
      "id": "sonesta"
    },
    {
      "name": "Hotel Soratama",
      "stars": 3,
      "price": 1000,
      "imagen": "https://i.ibb.co/hx0Txk6/hotel3.jpg",
      "id": "3"
    }
  ]
}

我的get_idapi中需要类似此响应的内容,但是我做不到,您能帮我吗?

{
  "name" : "Hotel Emperador",
  "stars" : 4,
  "price" : 1596,
  "imagen" : "https://i.ibb.co/RHYqxjL/hotel1.jpg",
  "id": 1
}
劳尔·桑切斯·雷耶斯(Raul Sanchez Reyes)

您可以使用聚合框架来检索文档

hotelModel.aggregate([{
    $match:{
        _id: "5e181fed9fc1883a69797e3a"
    }
},{ $project: {
          hotels: { $filter: {
              input: '$hotels',
              as: 'hotel',
              cond: { $eq: ['$$hotel.id', 1]}
          }},
          _id: 0
      }

},{
   $unwind:"$hotels" 
}])

https://mongoplayground.net/p/ka5WAdCvuZG

参考资料:

https://docs.mongodb.com/manual/reference/operator/aggregation/filter/ https://docs.mongodb.com/manual/reference/operator/aggregation/unwind/

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在MongoDB中的嵌入式数组对象中插入json对象?

如何使用id mongodb在嵌入式文档数组中查找数据?

如何在MongoDB的数组字段中查询和删除嵌入式对象?

从mongodb集合中的嵌入式数组对象仅获取特定字段

检索嵌入式数组并作为mongodb中的对象集合返回

在集合中查找嵌套(嵌入式)对象

在嵌入式数组中按$ in查找文档

如何在嵌入式数组mongodb中查询嵌入式文档

更新mongodb中arrays对象的arrays的嵌入式文档

如何对MongoDB中的嵌入式对象进行排序

基于范围查询MongoDB中嵌入式文档的数组

查询Spring Data MongoDB中嵌入式文档的数组

更新mongodb嵌入式数组中的所有元素

嵌入式文档数组中的MongoDB Aggregate ObjectId

在MongoDB中搜索嵌入式数组(使用Java)

使用Spring Data MongoDB在MongoDB中查找包含嵌入式数组中元素的子列表的实体

如何查询Mongodb的嵌入式数组

在文档中引用文档的嵌入式数组的嵌入式数组上查询Doctrine2和MongoDB

如何在数组中的嵌入式文档中指定/投影字段?

查询MongoDB中的嵌入式文档

在mongodb中展开嵌入式文档

在 MongoDB 中搜索嵌入式文档?

在Jackson中读取嵌入式对象

将嵌入式文档数组转换为mongoDB中的元素数组

从mongoDB中的手动参考中查找所有嵌入式文档

mgo,mongodb:从嵌入式结构中查找与一个字段匹配的文档

查找数组中是否存在嵌入式文档,并获取父文档的属性值

MongoDB查询以查找多个嵌入式文档

mongoDb 嵌入式查询以查找数据列表