在 MongooseJs 中选择特定字段
Posted
技术标签:
【中文标题】在 MongooseJs 中选择特定字段【英文标题】:Selecting particular fields in MongooseJs 【发布时间】:2012-10-15 10:22:05 【问题描述】:我有一个带有 Mongoose ODM 的 NodeJS 应用程序。 我想从集合中选择三个特定字段。 例如,我的集合是“用户”,具有字段“_id”、“用户名”、“电子邮件”、“用户类型”、“密码”...... 我只想选择 'username','email'&'usertype' 。 这是我的代码
var query = models.User.find().select('UserName', 'Email', 'UserType');
这在 mongoose 2 版本上运行良好,我更新到 Mongodb 2.2 和 Mongoose 3.3.1。 现在我收到错误
500 TypeError: Invalid select() argument. Must be a string or object.
谁能提出解决方案?
【问题讨论】:
【参考方案1】:由于 mongoose 3 select() 参数可以是:
一个包含 0-1 个排除/包含字段映射的对象 以空格分隔的字段名字符串(在需要排除的字段前加上-
)
所以你应该使用:
var query = models.User.find().select('UserName Email UserType');
或
var query = models.User.find().select(UserName : 1, Email : 1, UserType: 1);
【讨论】:
【参考方案2】:从 Mongoose 版本 4 开始,您不需要 select()。
var query = models.User.find(, 'UserName Email UserType');
【讨论】:
以上是关于在 MongooseJs 中选择特定字段的主要内容,如果未能解决你的问题,请参考以下文章