var foo = [ [ 14, 31, 55, 56, 60, 19 ], [30, 32, 33, 50, 64, 6 ], [9, 15, 22, 35, 48, 3] ];
var bar = await Model.find({
numbers: { $in: foo }
});
console.log(bar);
当我尝试运行上面的代码时,我得到以下错误。该模型是一个猫鼬模型,查询在使用robomongo的原始mongodb查询中运行没有任何问题。
{ [CastError: Cast to number failed for value "14,31,55,56,60,19" at path "numbers"]
message: 'Cast to number failed for value "14,31,55,56,60,19" at path "numbers"',
name: 'CastError',
kind: 'number',
value: [ 14, 31, 55, 56, 60, 19 ],
path: 'numbers',
reason: undefined }
答案 0 :(得分:1)
你正在将foo
传递给Mongoose,这是一个期望Number
值的属性的Mongoose数组,因此Mongoose会在它做的时候向你抱怨'通过说数组不是数字进行验证。