私はかなり長い間ここで問題を抱えています。私は人々がグループにサインアップし、いくつかの画像をアップロードし、その画像に特定のタグを付けることができるMeteorアプリケーションを作成しています。 _idとという名前の要素を持つタグのコレクションを取得しました。ユーザーが使用できるMeteorアプリケーションで2つのmongodbコレクション(_idのフィルタリング)からデータを取得する
タグは、その画像のため、グループのコレクションに格納されているが、このコレクションは
グループコレクション(_idsは、そのフィールドに保存されている利用可能なタグ付き)の配列を得ました -
モンゴタグCollec:単一エントリ
{
"_id" : "uC3PRu3qdcAF2tKK8",
"name" : "Summer Festival 2017",
"token" : "SummerFunUnited",
"tags" : [ "c6vMNnfJzFjEqDSJv", "RYNSsvmafCdRZ6Me9", "9qJD5L6PYCEcbEKcb" ]
}
タグのコレクションに保存されているタグは次のように保存されていますン
{ "_id" : "c6vMNnfJzFjEqDSJv", "name" : "Summerfanatic" }
{ "_id" : "RYNSsvmafCdRZ6Me9", "name" : "Sunshineaddict" }
{ "_id" : "9qJD5L6PYCEcbEKcb", "name" : "Danceman" }
私は、管理者が特定のグループで使用されているか、タグルックアップすることができます管理パネルを作成したいです。ルートは正常に動作していて、Meteorテンプレートでグループの名前を取得できます。
問題は、グループごとにタグのの名前をに表示したい場合、私はそれを動作させることができません。私のMongoの質問は機能していない、または私は本当に何か間違っている。
私は次のように使用して、クエリの場合:
Groups.find({ tags: { $in: [ "c6vMNnfJzFjEqDSJv", "RYNSsvmafCdRZ6Me9", "9qJD5L6PYCEcbEKcb" ] }})
私は戻って何の結果を得ることはありません。
私は本当に皆さんが助けてくれることを願っています。タグをより適切な方法で保管するための代替方法も知っています(将来は管理者が新しいタグを追加する必要があります)。
親切!
私はあなたのデータ構造には特別な問題を見ません。しかし、あなたの目的が_tags_を調べることであれば、なぜあなたは 'Groups'に問い合わせていますか?セレクタ内の二重中括弧はなぜですか? – ghybs
二重中括弧は、スタックオーバーフローで上書きされているためです(誤って入力すると、コード内にありません)。 問題はMongoのクエリをどこから始めるべきかわからないので、私は自分のグループコレクションを探している理由を実際には知りません。 短いアンサーでは:私はそれを動作させるために何をすべきかわかりません。 –
[$ in]の使用(https://docs.mongodb.com/manual/reference/operator/query/in/#use-the-in-operator-to-match-values-in-an-array)正しいとあなたのモデル構造も意味があります。 –