sql >> Database >  >> NoSQL >> MongoDB

Mijn api-code haalt een lege gegevensarray op uit mongodb, terwijl de code goed werkt op de speelplaats van mongodb

Blijkt dat het gieten van de ObjectId het probleem leek te zijn. We moeten mongoose.Types.ObjectId . gebruiken

De API-code ziet er als volgt uit

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. Wanneer ik Hibernate ogm en spring boot probeer te gebruiken, geeft de console de foutmelding Kan de naam van de strategieklasse niet instantiëren

  2. Eigenschap versleutelen/ontsleutelen tijdens schrijven/lezen naar c# mongo db

  3. Hoe kan ik sorteren op $elemMatch in MongoDB?

  4. Opnieuw verbinden ECONNREFUSED 127.0.0.1:6379