MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Моят api код извлича празен масив от данни от mongodb, докато кодът работи добре на mongodb playground

Оказва се, че кастингът на ObjectId изглежда е проблемът. Трябва да използваме mongoose.Types.ObjectId

API кодът ще изглежда така

getProductByProductId: function (productId) {
return new Promise((resolve, reject) => {
  User.aggregate([
  {
  $match: {
    "shops.products._id": mongoose.Types.ObjectId(productId)
  }
  },
  {
    "$unwind": "$shops"
  },
  {
    "$unwind": "$shops.products"
  },
  {
    $match: {
    "shops.products._id": mongoose.Types.ObjectId(productId)
  }
  },
  {
  $project: {
  "_id": "$shops.products._id",
  "title": "$shops.products.title"
  }
}
])
.then(products => {
resolve(products)
}).catch(err => {
reject(err);
});
});
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Проектирайте различни вградени структури към едно и също име

  2. Как да актуализирате всяка стойност с една заявка в mongodb

  3. Flask бавно прави заявки към Mongdb

  4. Приставката за регистриране на одит на Grails за mongodb не работи

  5. Запазване на резултата от MongoDB заявка