如何指示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需要我先阅读它,但我没有这样做。