如何指示MongoDB子文档应该是数组而不是对象
假设此模式:如何指示MongoDB子文档应该是数组而不是对象,mongodb,mongoose,Mongodb,Mongoose,假设此模式: const Item = new Schema ({ ids: [ Array ] }) 我的ids是一个二维数组。如果我将ids初始化为[[0]],那么我使用它就像使用任何数组一样。例如: $set:{'ids.0.2':5}将导致ids变成[[0,0,5]] 但是如果我尝试将$set设置在已经设置为数组的范围之外,MongoDB会在那里创建一个对象。例如: $set:{'ids.1.0':9}现在ids是[[0,0,5],{'0:9}] 我如何告诉MongoDB(或Mon
const Item = new Schema ({
ids: [ Array ]
})
我的ids
是一个二维数组。如果我将ids
初始化为[[0]]
,那么我使用它就像使用任何数组一样。例如:
$set:{'ids.0.2':5}
将导致ids
变成[[0,0,5]]
但是如果我尝试将$set设置在已经设置为数组的范围之外,MongoDB会在那里创建一个对象。例如:
$set:{'ids.1.0':9}
现在ids
是[[0,0,5],{'0:9}]
我如何告诉MongoDB(或Mongoose)将其视为一个数组?这就是您想要的
$push:{ids:[0,0,9]}
?不是真的。我要么使用$set(仅第一次使用),要么使用$inc。执行$push需要我先阅读它,但我没有这样做。