【发布时间】:2019-04-06 15:52:33
【问题描述】:
您好,我正在尝试在套接字 io 函数中运行 MongoDB 查询。findOne 工作正常,但 find 和聚合函数根本不起作用。在此处输入代码
mongo.connect('mongodb://localhost:27017', function (err, client) {
const db = client.db('dbName');
const bookWalker = db.collection('bookwalkers');
const walker = db.collection('walkers');
io.sockets.on('connection', function (socket) {
socket.on('enterRoom', function (data) {
socket.room = data.room;
socket.join(data.room);
console.log("connected to room", data.room);
bookWalker.find({"pendingWalk._id":
ObjectId("5bd994d2f395622e0b8f71af")},async function(err,resp) {
console.log("dataf",resp);
io.sockets.in(data.room).emit('getStartTime', resp[0]);
});
});
});
});
这是数据库中的示例数据
{
"_id" : ObjectId("5bd994d2f395622e0b8f71ad"),
"pendingWalk" : [
{
"walkPicture" : [],
"status" : 0,
"walkPath" : [],
"_id" : ObjectId("5bd994d2f395622e0b8f71af"),
"bookedDate" : ISODate("2018-10-31T13:30:56.581Z"),
"bookedTime" : ""
}
],
"userId" : ObjectId("5b6e932062bce05ae5647980"),
"book_dt" : ISODate("2018-10-31T11:41:06.230Z"),
"__v" : 0}
查询在 mongo shell 中运行良好。
【问题讨论】: