一个关于 Mongoose 定义 schema 的问题
在定义 schema 的时候,我想定义一个存放对象数组的字段,如下:
const inventorySchema = new Schema({
instock: [Object],
});
instock 对象用来存放对象数组,但当我像下面这样写入数据的时候却报错了:
inventoryModel.create({instock: [{ warehouse: "A", qty: 5 }, { warehouse: "C", qty: 15 }]})
报错截图如下:
但是当我把 schema 中的定义改成instock: [{}]
这样的时候又能正常写入成功了。我查官方文档时候发现如下:
文档里说了 Object 和 {} 等效了啊,但是为什么 [Object] 和 [{}] 就不一样了呢? 请问有知道的同学吗?
3 回复
何不直接定义 instock: [ ]
文档那里不是那个意思… {any : Object} 是你在定义的时候这里面可以放任何对象,any是指对象的key, Object是对象的value,它的意思就是你可以在{}内放任何的key : value
instock: [ ] 这才是正确的, instock: [object],没见过这样的