【发布时间】:2021-07-12 19:40:25
【问题描述】:
我正在尝试过滤掉 mongoDB 找到的集合并将其显示在 EJS 文件中。但是,当我尝试这样做时,它宁愿向我显示集合内的所有字段,而不是我想要的一个字段值。我想要的字段称为:“Silver”,我使用的是 nodejs、express 和 MongoDB。
这是架构:
const mongoose = require('mongoose');
const merchant1schema = new mongoose.Schema({
items: {
type: Array
},
silver: {
type: Number
}
});
module.exports = mongoose.model('merchant1', merchant1schema);
这是我用来查找集合然后在 EJS 中显示回来的代码:
router.get('/merchants', ensureAuthenticated, async (req, res) => {
merchant1.find({}, function (error, data) {
console.log(data)
if (error) {
console.log(error);
} else {
res.render("merchants", {silver: data, user: req.user});
}
})
})
但是,当我在控制台记录数据时,数据仅显示整个模型,而不是我想要的字段银。这是输出: [{项目:[],_id:60ec87b6051bf8edb62cf389,银:200000}]
我曾尝试通过执行以下操作将其过滤掉:data.silver 但这只是返回一个空字段。所以我想知道我怎么能做到这一点。
【问题讨论】:
标签: javascript mongodb express ejs