dan*_*any 9 javascript mongoose mongodb node.js
我有一个使用Mongoose ODM的NodeJS应用程序.我想从集合中选择三个特定字段.我的收藏示例是"用户",其字段为"_id","用户名","电子邮件","用户类型","密码"...我只想选择"用户名","电子邮件"和"用户类型".这是我的代码
var query = models.User.find({}).select('UserName', 'Email', 'UserType');
Run Code Online (Sandbox Code Playgroud)
这与mongoose 2版本工作正常,我更新到Mongodb 2.2和Mongoose 3.3.1.现在我收到了错误
500 TypeError: Invalid select() argument. Must be a string or object.
Run Code Online (Sandbox Code Playgroud)
有人可以建议一个解决方案?
sou*_*eck 16
由于mongoose 3 select()参数可以是:
-需要排除的字段之前)所以你应该使用:
var query = models.User.find({}).select('UserName Email UserType');
Run Code Online (Sandbox Code Playgroud)
要么
var query = models.User.find({}).select({UserName : 1, Email : 1, UserType: 1});
Run Code Online (Sandbox Code Playgroud)
小智 12
从Mongoose版本4开始,您不需要select().
var query = models.User.find({}, 'UserName Email UserType');
Run Code Online (Sandbox Code Playgroud)