Я получаю сообщение об ошибке:Неопределенная функция ошибки для cursor.toArray() с локально размещенной базы данных
«TypeError: не определено не является функцией» ..для 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;
});
Mongoose не поддерживает ни один из методов. Они присутствуют только в оболочке MongoDB. Ну '.Array()' существует в собственном драйвере. Но у мангуста нет таких. По умолчанию «mongoose» возвращает результат как массив уже, если вы явно не запрашиваете курсор или поток. –
@blakes, могу ли я настроить его следующим образом: 'var membersArray = User.find ({}, {firstname: 1, lastname: 1, _id: 0});' ?? – Fabian
I woluld предлагает прочитать [документацию] (http://mongoosejs.com/docs/api.html#model_Model.find) –