16

我一直在研究将 typescript 与 mongoose 一起用于 MongoDB。大多数情况下,它一直运行良好,但是对于某些类型的问题,我会从 typescript 编译器收到警告。

如果我这样做或喜欢这样:

{"$or": [{done: {"$exists": false}}, {done:false}]} 

我收到以下警告:

Incompatible types in array literal expression: Types of property 'done' of types '{ done: { $exists: bool; }; }' and '{ done: bool; }' are incompatible.

我明白为什么,但是有没有办法表达这一点,以便编译器接受它?

4

1 回答 1

31

您可以对任何元素进行类型断言any以“关闭”类型检查:

[<any>{done: {"$exists": false}}, {done:false}]

或者,如果你正在初始化一个变量,你可以这样做:

var n: any[] = [{done: {"$exists": false}}, {done:false}]
于 2013-02-06T19:57:09.500 回答