【发布时间】:2017-12-26 13:33:10
【问题描述】:
我有两个 Mongoose 查询,并决定最好对它们使用 .lean()。
对于返回单个文档的,它似乎工作正常:
let something:Something;
SomethingDocument.findOne({_id:theId}).lean().then( (res) => { something = res;});
问题是当我尝试将它与返回多个结果的查询一起使用时:
let somethings:Something[];
SomethingDocument.find({color:'blue'}).lean().then( (res) => { somethings = res;});
第二次调用报错:
Type 'Object' is not assignable to type 'Something[]'.
The 'Object' type is assignable to very few other types. Did you mean to use the 'any' type instead?
Property 'length' is missing in type 'Object'.
如果我尝试进行类型转换,它只会抱怨“对象”类型中缺少“长度”属性。
当我期望结果数组时,如何使用lean?
...请注意,如果我简单地省略 lean ,一切都会奏效。
【问题讨论】:
标签: node.js mongodb typescript mongoose