【问题标题】:MongoDb, NodeJs - How to find a document by searching it by id of an array elementMongoDb,NodeJs - 如何通过数组元素的 id 搜索文档来查找文档
【发布时间】:2020-07-15 08:48:08
【问题描述】:

这是我的模特:-

   "_id":{
      "$oid":"5f0dbca73ef98355649d7cc7"
   },
   "name":"Multiple Image test",
   
   "description":"Awesome",
   
   "price":{
      "$numberInt":"15000"
   },
   "images":[
      {
         "_id":{
            "$oid":"5f0dbca73ef98355649d7cc9"
         },
         "data":{
            "$binary":{
               "base64":"random buffer data",
               "subType":"00"
            }
         },
         "contentType":"image/jpeg"
      },
      {
         "_id":{
            "$oid":"5f0dbca73ef98355649d7cc8"
         },
         "data":{
            "$binary":{
               "base64":"Random buffer data",
               "subType":"00"
            }
         },
         "contentType":"image/jpeg"
      }
   ],
   
   
}
      
    

现在我如何从 images 字段访问特定的图像数据?

我正在使用 mongoose js,因此可以使用哪个查询以及如何使用它来访问数据。任何形式的帮助将不胜感激。

【问题讨论】:

标签: node.js mongodb mongoose


【解决方案1】:

并将 Asiri 的评论归结为适合您的情况: 您使用 $elemMatch 运算符:https://docs.mongodb.com/manual/reference/operator/query/elemMatch/

MyModel.find({'images': {$elemMatch: {_id: ObjectId("5f0dbca73ef98355649d7cc8")}}}

您可能不需要转换为 ObjectId。 (现在你应该可以猜到我没有测试过这个答案,对此我深表歉意。)

【讨论】:

    猜你喜欢
    • 2020-08-24
    • 2019-11-08
    • 2019-07-16
    • 1970-01-01
    • 2017-07-02
    • 2015-07-14
    • 1970-01-01
    • 2015-11-08
    • 2020-09-06
    相关资源
    最近更新 更多