javascript - 无法在 mongodb 中读取 null 的属性“填充”
问题描述
当我在数组中填充对象值时,会发生此错误
Cannot read property 'populated' of null in mongodb
当我评论.populate("items.item")
它的工作
这是我的架构
const mongoose = require("mongoose");
const { s, rs, rref, rn, n } = require("../utils/mongo");
var schema = new mongoose.Schema(
{
store: rref("user"),
customer: rref("user"),
status: {
...s,
default: "pending",
enum: ["pending", "proccessing", "shipped", "delivered", "cancelled"],
},
items: [
{
item: rref("product"),
count: rn,
size: s,
},
],
msgCounter: {
...n,
default: 0,
},
},
{ timestamps: true }
);
module.exports = mongoose.model("order", schema);
这是控制器
module.exports = {
getAll: async (req, res) => {
let {_id} = req.user;
if (!user) return res.status(401).send("Access Denied");
const orders = await Order.find({ store: _id })
.populate("store")
.populate("customer")
.populate("items.item") // if comment this population everything is right
.sort({ updatedAt: -1 });
res.send(orders);
},
}
解决方案
推荐阅读
- javascript - 在 js 中创建自定义的一组定义的链接方法
- c++ - 创建指向随机生成的 int 的指针列表
- java - 为什么 Java 不为 ArrayLists 实现 last() 方法?
- arrays - 使用带大括号“{}”的字符串的间接单元格引用
- bash - 在 bash 中创建一个调用脚本和附加命令的别名
- python - 如何在python中格式化日志?
- postgresql - 如何调试:无法从 Docker 容器内连接到数据库
- batch-file - 从cropdetect获取价值
- mongodb - MongoDB在重复添加新项目时无法准确存储日期
- java - 使用maven在java应用程序中运行两个版本的elasticsearch