1

属性が falsey であるすべてのドキュメントを検索するクエリを指定する Meteor コレクションがあります。つまり、存在しない場合は null、false です。ネイティブ Mongo では、次の構文が機能します。

find({category: "Cereal", showOnList: {"$ne": true}})

この場合、どのドキュメントにも要素がないshowOnListため、クエリに一致しません。Meteor (クライアント側) では、この構文を使用すると次のエラーが発生します。

Uncaught SyntaxError: Unexpected token )
    at Object.InjectedScript._evaluateOn (<anonymous>:904:140)
    at Object.InjectedScript._evaluateAndWrap (<anonymous>:837:34)
    at Object.InjectedScript.evaluate
(<anonymous>:693:21)InjectedScript._evaluateOn @ VM220:904InjectedScript._evaluateAndWrap @ VM220:837InjectedScript.evaluate @ VM220:693

他の誰かがこの問題に遭遇し、回避策がありますか? これはメテオのバグですか?

4

2 に答える 2

0

1 つのステートメントでこのクエリを作成する方法がわかりません。これは私の回避策です:

find({$or: [{ showOnList: null }, {showOnList: false}, {showOnList: {$exists: false}}] })
于 2015-09-22T08:08:54.173 に答える