在Mongoose中使用Virtual返回查询的全名
Using a Virtual in Mongoose to return full name on a query
我想用mongoose做一个查找查询,并得到返回的结果,其中包含用户的全名。现在,我有两个字段,firstName和lastName。当我查询数据库时,我希望mongoose将firstName和lastName连接起来,并返回一个名为fullName的字段。Mongoose有可能做到这一点吗?
另一种选择是查询数据库,获取结果,并循环遍历每个对象,并在循环的每次迭代中分配fullName。我觉得我有办法以某种方式利用猫鼬虚拟。
UserSchema
.virtual('name.full')
.get(function () {
return this.name.firstName + ' ' + this.name.lastName;
});
示例查询:
User.find().exec()
.then(function(data){
console.log(data); //Should print out [{ _id: 123123232322, firstName:'john', lastName: 'Doe'}]
//I would like it to print out: [{ _id: 123123232322, firstName:'john', lastName: 'Doe', fullName: 'John Doe'}]
});
通过将UserSchema
上的toObject
选项设置为{ getters: true }
:,可以在console.log
输出中显示虚拟
UserSchema.set('toObject', { getters: true });
相关文章:
- 使用DynamoDB查询返回
- 用于查询错误转换的角度资源返回列表
- 将语句与jquery相结合,并使用媒体查询来实现返回页首按钮
- Firebase:查询返回null
- 有关PouchDB的复杂startkey/endkey查询未返回预期结果
- sqlite查询返回错误-can'我不知道为什么
- Node.js和Mongoose返回2D查询
- 使用 mysql 查询从单列返回值
- Riak:2i 查询不返回密钥
- 解析查询查找方法返回对象而不是数组
- 需要呈现MongoDB查询返回结果的特定索引/位置
- web2py服务器返回错误,但已提交查询
- 在Mongoose中使用Virtual返回查询的全名
- Javascript函数没有't返回查询结果(用于Cordova的SQLitePlugin)
- javascript如何向客户端返回查询参数
- 单击一个按钮应该计算一个值并返回查询,但不会;t
- 如何使用Sequelize和Javascript返回查询结果?
- 不能让Twitterlib fetchtweets()从列表中返回查询
- Javascript函数没有返回查询结果
- PHP脚本不返回查询,但MySql查询工作