少し混乱していると思います。 2番目の例のようにオブジェクトマップを指定できます。これは、あなたがそうしたときにそれについてdocsの状態です。
オブジェクト:パターンオブジェクトは、配列に含まれる オブジェクトの特定のプロパティをフィルタリングするために使用できます。たとえば、{name:"M", phone:"1"}
述語は、プロパティ名が で「M」、プロパティ電話機に「1」が含まれているアイテムの配列を返します。特別なプロパティ 名前$
({$:"text"}
のように)を使用して、オブジェクトまたはそのネストされたオブジェクトのプロパティの プロパティとの一致を受け入れることができます。これは上記の と記述されている文字列との単純な部分文字列の一致に相当する です。述語は、文字列の先頭に!を付けて否定することができます。 たとえば、{name: "!M"}
述部は、 のプロパティー名に"M"
が含まれていない項目の配列を戻します。
ここで取り除くべき重要なことは、第2文とand
です。一致のためには、あなたの場合の文字列text
は、マップに指定されたすべてのプロパティと一致する必要があります。
たとえば、名前がJohn
の場合は、male
の検索は一致しません。しかしma
を検索すると、次のレコードを返します:
{
name: 'mark',
gender: 'male'
}
だけFYIのために、あなたはまた、ビューを介してオブジェクト・マップで検索することができますが、それは同じ制限があります。
ワイルドカード$
を使用すると、カンマで区切られたプロパティのリストが得られます。これにより、いずれのプロパティでも一致するor
が実行されます。
{
$: 'name,gender'
}
ここでキャッチするのは、すべてのプロパティに同じ値がチェックされます。
実際にはfiddle showingです。
他の回答は、何が起きているのか、その理由について説明していないと感じていました。
こんにちは、リンクはフィドルリンクではありません – Zainu
私は '' $ ':テキストを試しましたが、すべてのプロパティをチェックします。私も '$: "名前、性別"':テキストを試しましたが、うまくいきません。 – Zainu
@zainu私は自分のコンピュータにはいないが、私がフィドルリンクを更新していないときには、 – ste2425