Извлечение данных из объекта мангуста

#node.js #mongodb #rest #express #mongoose

Вопрос:

У меня есть Модель магазина

 const Shop = mongoose.Schema({  _id: mongoose.Schema.Types.ObjectId,  shop_name: { type: String },  products: {_id: mongoose.Schema.Types.ObjectId,type:Array}, });  

и схема продукта

 const Product = mongoose.Schema({  _id: mongoose.Schema.Types.ObjectId,  title: { type: String },  description: { type: String },  shop: { type: mongoose.Schema.Types.ObjectId, ref: "Shop" }, });  

Я пытаюсь получить доступ к продукту в массиве продуктов модели магазина, чтобы обновить его.

Я много искал в Интернете, но не мог найти то, что ищу. Мне нужно получить доступ к очень конкретному продукту в массиве продуктов с заданными параметрами, такими как идентификатор магазина и идентификатор продукта.

Это то, что я пытался сделать

 const item = await Product.findOne({_id} , 'products').find({"products._id" : productId})  

Но это дает объект мангуста, если второй метод поиска находит совпадение

 [  {  products: [ [Object] ],  _id: 617f1bca39a5a43c1a981060,  butik: 'scsbutik',  butik_slug: 'egzbutikcom-1000010',  butik_image: 'https://webizade.com/bm/img/butik-10.jpg',  butik_points: '9.8',  butik_order_count: 45,  butik_success_order_count: 42,  butik_refund_count: 3,  is_butik_refund: true,  __v: 0,  login: []  } ]  

Мне нужно получить доступ к объекту ВНУТРИ массива продуктов и обновить этот продукт.

Заранее благодарен за любую помощь.