node.js - Nodejs and Mongoose. Mode.find returns strange objectg -
i using socket.io web app. want return object user reason returns strange object, or find function.
object {options: object, _conditions: object, _updatearg: object, op: "find"} in app.js file looking group:
socket.emit "getgroup", $(".user").attr("data-name") then in server.js in node
socket.on('getgroup', function (userid) { return io.sockets.emit('group', groupmodel.find({user:userid})); }); where in case works expected, returning tasks:
socket.on('getall', function (socket) { return io.sockets.emit('getall', taskmodel.find()); }); why not getting group model object?
you're sending return value of model.find(), query object. because mongoose queries asynchronous, don't return actual query result object can retrieve result.
in case, you'd want wait query return before sending message back:
socket.on('getgroup', function (userid) { groupmodel.find({user:userid}, function(err, results) { if (err) // handle error else io.sockets.emit('group', results); }); }); i don't know why other query (with taskmodel) works, because looks of it, shouldn't (for same reason: returns query object; if want results object, need call .exec on first or, in example above, pass callback function).
Comments
Post a Comment