16

私はMongoDBでmongooseでtypescriptを使用することを検討してきました。ほとんどの場合、うまく機能していますが、特定の種類のクエリサイトでは、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 に答える