【发布时间】:2021-04-02 04:05:30
【问题描述】:
想要获取所有用户,但只返回 _ids 列表,检查了 db 中保存的数据,一切似乎都很好。
这是用户模型
let UserSchema = new mongoose.Schema({
firstName: {
type: String,
minlength: 3,
trim: true,
},
lastName: {
type: String,
minlength: 3,
trim: true,
},
biography: {
type: String,
minlength: 5,
trim: true,
},
});
UserSchema.methods.toJSON = function () {
let user = this;
let userObject = user.toObject();
return _.pick(userObject, ["_id", "firstName", "email"]);
};
这是我的控制器功能
const controller = {
fetchUsers :async (_req, res) => {
try {
await User.find({})
.then((users) => {
res.status(200).send(users);
})
.catch((err) => {
res.status(400).send(err);
});
} catch (error) {
res.status(400).json({
Error: `something is wrong. ${error}`,
});
}
}
}
结果是我在邮递员中测试的是:
[
{
"_id": "5fe26ba0d290a216c0fe6d5d"
},
{
"_id": "5fe26c8e40ca9a06b8c96259"
},
]
【问题讨论】:
-
所以你想要一个字符串数组而不是对象数组?你从来没有真正说出问题所在。
-
@epascarello 我想返回用户的全部数据,例如名字和姓氏和传记
-
我不是猫鼬专家,所以只是在黑暗中刺伤我。你会在以后的某个时候重新声明它吗?不知道你为什么使用
let而不是const。User真的在使用UserSchema吗?
标签: javascript node.js mongoose