MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

mongodb erhält das gesamte Dokument von einem Wert

Wenn Sie bots.findOne({data}) aufrufen es gibt ein "Promise" zurück, nicht die Daten. Sie müssen auf die Promise-Auflösung warten, um die Daten zu erhalten. Sie können diesen Code ausprobieren.

   socket.on("bot_req_id", async function(data) {
       let db = mongoose.db("wumpusCave")
       let bots = db.collection("bots")
           console.log(data)
           let bot = await bots.findOne({data})
           console.log(bot);
           socket.emit("bot_res_id", bot)
   })

Dieser Artikel kann Ihnen helfen, das Konzept zu verstehen:https://scotch.io/courses/10-need-to-know-javascript-concepts/callbacks-promises-and-async