mongoose查询多表嵌套数据字段返回驼峰形式
时间: 2023-09-14 07:15:53 浏览: 127
可以使用 `populate()` 方法进行多表嵌套查询,并使用 `select()` 方法指定需要返回的字段。如果需要返回的字段是驼峰形式,可以在 schema 定义中使用 `toJSON: { virtuals: true }`,并在查询时使用 `lean()` 方法使查询结果变为普通 JavaScript 对象,然后使用 `lodash` 库中的 `camelCase()` 方法将字段名转为驼峰形式。
具体代码如下:
```javascript
const _ = require('lodash');
const User = require('./models/user');
const Post = require('./models/post');
Post.find()
.populate({
path: 'author',
select: 'name email'
})
.lean()
.exec((err, posts) => {
if (err) {
console.error(err);
} else {
posts = _.map(posts, post => {
post.author = _.camelCase(post.author);
return post;
});
console.log(posts);
}
});
```
在上述代码中,我们使用 `populate()` 方法进行多表嵌套查询,并使用 `select()` 方法指定需要返回的字段。然后使用 `lean()` 方法使查询结果变为普通 JavaScript 对象,最后使用 `lodash` 库中的 `camelCase()` 方法将字段名转为驼峰形式。
阅读全文