cursor.toArray() 与本地托管数据库的未定义函数错误
Undefined function error for cursor.toArray() with locally hosted database
我遇到错误:
"TypeError: undefined is not a function" ..for toArray() 在下面的代码中。
// Require mongo db user model
var User = require("./models/user.js");
.
.
.
// list of members page ====================================================
// protected page
app.get("/members", isLoggedIn, function(req, res) {
// get array list of usernames
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } );
var membersArray = pttCursor.toArray(function(err, docs){});
res.render("members.ejs", {
user : req.user, // get user out of session and pass to template
members : membersArray
});
});
我希望 /members 页面能够访问一组用户名。
编辑:我也试过 "cursor.map()" ..我得到了同样的错误
// get array list of usernames
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } );
var membersArray = pttCursor.map(function(pttDoc){
return pttDoc.firstname + pttDoc.lastname;
});
.find
方法来自模型 returns Query
对象不是 Cursor
.
要执行查询,请在 pttCursor
上使用 .exec()
方法。
此外,所有异步方法都应使用回调处理。
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } )
.exec(function(err, membersArray){
res.render("members.ejs", {
user : req.user, // get user out of session and pass to template
members : membersArray
});
});
我遇到错误:
"TypeError: undefined is not a function" ..for toArray() 在下面的代码中。
// Require mongo db user model
var User = require("./models/user.js");
.
.
.
// list of members page ====================================================
// protected page
app.get("/members", isLoggedIn, function(req, res) {
// get array list of usernames
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } );
var membersArray = pttCursor.toArray(function(err, docs){});
res.render("members.ejs", {
user : req.user, // get user out of session and pass to template
members : membersArray
});
});
我希望 /members 页面能够访问一组用户名。
编辑:我也试过 "cursor.map()" ..我得到了同样的错误
// get array list of usernames
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } );
var membersArray = pttCursor.map(function(pttDoc){
return pttDoc.firstname + pttDoc.lastname;
});
.find
方法来自模型 returns Query
对象不是 Cursor
.
要执行查询,请在 pttCursor
上使用 .exec()
方法。
此外,所有异步方法都应使用回调处理。
var pttCursor = User.find( { } , { firstname: 1, lastname: 1, _id: 0 } )
.exec(function(err, membersArray){
res.render("members.ejs", {
user : req.user, // get user out of session and pass to template
members : membersArray
});
});