1

このスキーマthingsのデータベースにあるとしましょう:

{
    tags: [String]
}

私はtagsこのような配列を持っています:["tag1", "tag2"]
things、私は自分のタグを含むものだけを検索して取得する必要があります。

ここ$whereで演算子を検索して見つけましたが、必要なものではありません。 モンゴのようなものか、マングースのようなものがあるのではないかと思っていました。何か案は?
db.things.find( { $where: "this.tags.contains(<my tags somehow>)" } );

4

2 に答える 2

2

あなたがしたい$all

http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-%24all

mongoose の例をいくつか示します: https://github.com/LearnBoost/mongoose/blob/master/test/query.test.js#L396

ちなみに、$where通常はスケーラブルではありません。

于 2012-09-23T05:59:41.700 に答える
2

MongoDB クエリ構文を使用すると、要素配列を次のように一致させることができます。

.find( { tags: 'tag1' } )

そしてもちろん、それはマングースで動作しています:)

ソース: http://docs.mongodb.org/manual/tutorial/query-documents/#match-an-array-element

于 2014-01-27T17:06:08.537 に答える