【发布时间】:2022-12-10 00:56:31
【问题描述】:
我正在使用 mongoose 来定义模式。我有两个模式用户和用户详细信息。我想要 userdetail 中的用户数据
我有以下架构,但我没有得到输出。我认为代码是正确的,但不明白为什么没有输出……相反,我得到的是空数组。
const mongoose = require("猫鼬")
const UserDetailSchema = mongoose.Schema({
电话 : {
类型:数字
},
名 : {
类型:字符串
},
姓 : {
类型:字符串
},
产品图片:{
数据:缓冲区,
内容类型:字符串
},
已删除:{
类型:布尔值,
默认值:假
},
用户身份 : {
类型:字符串,
},
数据 : [{
类型:mongoose.Schema.Types.ObjectId,
参考:“用户”
}],
},
{时间戳:真})
const UserDetail = new mongoose.model("userdetail",UserDetailSchema);
module.exports = UserDetail;
我的用户模式是
const mongoose = require("猫鼬");
const UserSchema = mongoose.Schema({
电子邮件: {
类型:字符串,
要求:真实
},
密码: {
类型:字符串,
要求:真实
},
已删除:{
类型:布尔值
},
},
{时间戳:真});
module.exports = mongoose.model("user", UserSchema);
查询是,
<pre>
router.get("/UserDetail",async (req,res)=>{
try{
const UsersData= await UserDetail.find();
res.json(UsersData)
}catch(e){
res.status(500).json({ message: e.message })
}
})
</pre>
即使我只使用查找,我也必须只使用 id 获取数据吗?
输出是 -
任何帮助,将不胜感激
router.patch("/UserDetail/:id",Auth,upload.single("productimage"),async(req,res)=>{
尝试{
const id = req.params.id;
const updatedData = req.body;
updatedData.productimage = {data: fs.readFileSync('upload/' + req.file.filename),
contentType: 'image/png'};
const options = { new: true };
const result = await UserDetail.findOneAndUpdate(
id、更新数据、选项
)
重新发送(结果)
}抓住(e){
res.status(500).json({ message: e.message })
}
})
【问题讨论】:
-
你能分享你正在写的查询吗?
-
当然哈立德......我已经更新了问题......
-
发布存储在数据库中的数据。数据库中存储的数组中是否有任何 id?
-
嗨 Marc,db 中没有数组,这个方括号在那里是因为我在模型中给出了它(请参考我在 userdetail 模式中放入数组的数据值)....如果我不给出方括号,它什么都不显示
标签: node.js mongoose backend mern