当我在数组中填充对象值时会发生此错误
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);
},
}