sql >> Database teknologi >  >> NoSQL >> MongoDB

Min api-kode henter et tomt dataarray fra mongodb, mens koden fungerer godt på mongodb legeplads

Det viste sig, at castingen af ​​ObjectId syntes at være problemet. Vi skal bruge mongoose.Types.ObjectId

API-koden vil se sådan ud

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 indtastede transaktioner

  2. C# Mongo Driver IMongoDatabase RunCommand for at få databasestatistik

  3. MongoEngine:Tilføjelse af felter til dynamisk dokument

  4. MongoDB Sample operatører