Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/37.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript mongodb从一个值获取整个文档_Javascript_Node.js_Database_Mongodb - Fatal编程技术网

Javascript mongodb从一个值获取整个文档

Javascript mongodb从一个值获取整个文档,javascript,node.js,database,mongodb,Javascript,Node.js,Database,Mongodb,我想从单个值获取mongodb文档的所有值。 例如: 这是我的目标 当我使用MongoDB的.findOne()函数时,我想得到所有的值。 例如: 我怎样才能做到这一点? 谢谢你的建议,很抱歉英语不好 调用bots.findOne({data})时,它返回一个“承诺”,而不是数据。您需要等待Promise resolve来获取数据。你可以试试这个代码 socket.on("bot_req_id", async function(data) { let db

我想从单个值获取mongodb文档的所有值。
例如:

这是我的目标
当我使用MongoDB的.findOne()函数时,我想得到所有的值。 例如:

我怎样才能做到这一点?

谢谢你的建议,很抱歉英语不好

调用bots.findOne({data})时,它返回一个“承诺”,而不是数据。您需要等待Promise resolve来获取数据。你可以试试这个代码

   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)
   })

本文可以帮助您理解这个概念:

当您尝试调用
findOne
方法时会发生什么?你应该拿到整个文件。@MasterAM它是给我这个:你能把你当前的代码添加到问题中吗?@engkhoaĐinhDone@BlackdestinyXX谢谢,我想我找到问题了。你能检查一下我的答案吗?是的,现在可以了,谢谢!
<collection>.findOne({"id":"id"})

//get all values name, description, invite ecc. from id
   socket.on("bot_req_id", function(data) {
       let db = mongoose.db("wumpusCave")
       let bots = db.collection("bots")
           console.log(data)
           let bot = bots.findOne({data})
           console.log()
           socket.emit("bot_res_id", bot)
   })
   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)
   })