Node.js MongoDB在返回对象的NodeJ上查找元素
我使用的是Node.js MongoDB在返回对象的NodeJ上查找元素,node.js,mongodb,Node.js,Mongodb,我使用的是MongoClient,似乎每当我尝试通过查询查找时,都会返回一个对象,但它在mongo终端中工作得非常好。此数据库初始化用于输入数据 MongoDB终端: mongo use player-db db.players.find({"id":"1"}) 结果:{“\u id”:ObjectId(“5F3CA631950B2F4B15E27”),“id”:“1”,“name”:“test”} 现在在server.js中: mongo use pl
MongoClient
,似乎每当我尝试通过查询查找时,都会返回一个对象,但它在mongo终端中工作得非常好。此数据库初始化用于输入数据
MongoDB终端:
mongo
use player-db
db.players.find({"id":"1"})
结果:{“\u id”:ObjectId(“5F3CA631950B2F4B15E27”),“id”:“1”,“name”:“test”}
现在在server.js中:
mongo
use player-db
db.players.find({"id":"1"})
consturl='{ommited}'
const dbName='player db'
让db;
connect(url,{useNewUrlParser:true,useUnifiedTopology:true},(错误,客户端)=>{
if(err)返回console.log(err)
db=client.db(dbName)
log(`Connected to Database:\n${url}/${dbName}`)
})
/**不起作用的函数**/
const GetOne=(集合,id)=>{
让test=db.collection(“players”).find({“id”:“1”});
控制台日志(测试);
}
预期输出:{“_id”:ObjectId(“5f3ca631950b2f4b1f157e27”),“id”:“1”,“name”:“test”}
实际输出:
Cursor {
_readableState: ReadableState {
objectMode: true,
highWaterMark: 16,
buffer: BufferList { head: null, tail: null, length: 0 },
length: 0,
pipes: [],
flowing: null,
ended: false,
endEmitted: false,
reading: false,
sync: true,
needReadable: false,
emittedReadable: false,
readableListening: false,
resumeScheduled: false,
errorEmitted: false,
emitClose: true,
autoDestroy: true,
destroyed: false,
errored: false,
closed: false,
closeEmitted: false,
defaultEncoding: 'utf8',
awaitDrainWriters: null,
multiAwaitDrain: false,
readingMore: false,
decoder: null,
encoding: null,
[Symbol(kPaused)]: null
........................... etc.
您当前正在获取并记录
光标
let test = db.collection("players").find({"id" : "1"}).toArray(function(err, docs) {
console.log(docs)
});
应该显示您的文档
toArray
将光标“转换”为找到的文档数组。它接受一个回调函数,完成后将执行该函数。你也可以承诺或异步/等待等待db.collection…
我爱你。你是个了不起的人。