問題タブ [aggregation-framework]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - コレクション内のすべてのキーの名前を取得します
MongoDBコレクション内のすべてのキーの名前を取得したいと思います。
たとえば、これから:
一意のキーを取得したい:
regex - 整数値でのMongoDB正規表現検索
MongoDBで整数値を正規表現検索したい。これは可能ですか?
さまざまなフィールドでワイルドカードを使用できる*CRUDタイプのインターフェイスを構築しています。整数であるいくつかのフィールドのUIの一貫性を維持しようとしています。
検討:
ご覧のとおり、オブジェクトを挿入すると、値で見つけることができます。単純な正規表現を試してみると、実際にはオブジェクトが見つかりません。
ありがとう!
mongodb - MongoDB のフィールドの実際の型を返す
MongoDB では、 を使用して$type
、フィールドが BSON データ型に一致するかどうかに基づいて検索をフィルタリングできます ( DOCSを参照)。
たとえば。
戻り値:
コレクション内のすべてのフィールドについて、フィールドの実際の型を教えてくれるクエリが必要です。これはMongoDBで可能ですか?
mongodb - 別のフィールドの値を使用して MongoDB フィールドを更新する
MongoDB では、別のフィールドの値を使用してフィールドの値を更新することは可能ですか? 同等の SQL は次のようになります。
MongoDB 疑似コードは次のようになります。
mongodb - MongoDB コレクションのオブジェクト配列でクエリされた要素のみを取得する
私のコレクションに次のドキュメントがあるとします。
クエリを実行:
または
一致したドキュメント(ドキュメント 1)を返しますが、常にすべての配列項目がshapes
:
ただし、以下を含む配列のみでドキュメント(ドキュメント 1)を取得したいと思いますcolor=red
。
これどうやってするの?
mongodb - MongoDB: 複数のコレクションのデータを 1 つに結合する..どのように?
(MongoDB で) 複数のコレクションのデータを 1 つのコレクションに結合するにはどうすればよいですか?
map-reduce を使用できますか?
私は初心者なので、いくつかの例をいただければ幸いです。
mongodb - 各グループから上位 N 行を選択
ユーザーが独自のブログを作成できるブログ プラットフォームに mongodb を使用しています。すべてのブログのすべてのエントリがエントリ コレクションに含まれています。エントリのドキュメントは次のようになります。
質問が示すように、各ブログの最後の 3 つのエントリを選択する方法はありますか?
mongodb - MongoDB で配列の n 番目の要素を取得する
MongoDB のドキュメントの一部として、オブジェクトの配列を格納しています。たとえば、配列の4番目の要素のみを照会するにはどうすればよいですか? したがって、配列全体を取得するのではなく、4番目の要素だけを取得したくありません。
mongodb - 一致の総数順に並べられた、タグがリストに含まれるドキュメントを取得します
次のMongoDBドキュメントコレクションがあるとします。
一致したタグの総数順に、タグのリストに一致するアイテムのリストをどのように取得しますか?たとえば、次のタグのリストを入力として指定します。
一致するタグの総数で説明順にランク付けされたアイテムを取得したい:
リレーショナルスキーマでは、タグは別のテーブルになり、そのテーブルに対して結合し、一致をカウントし、カウント順に並べ替えることができます。
しかし、モンゴでは...?
このアプローチはうまくいくようですが、
- 入力タグを複数の「IN」ステートメントに分割します
- タグ入力を「OR」してアイテムをクエリします
- つまり、where('shirt' IN items.tags)OR('cotton' IN items.tags)
- これにより、たとえば、「シャツ1」のインスタンスが3つ、「シャツ3」のインスタンスが2つ返されます。
- その出力をマップ/リデュース
- マップ:emit(this._id、{...});
- 削減:_idの合計発生数をカウントします
- ファイナライズ:カウントされた合計で並べ替え
しかし、これをMongoクエリとして実装する方法、またはこれが最も効率的なアプローチであるかどうかはわかりません。
mongodb - MongoDb のサブドキュメント フィールドの $match 演算子
MongoDB の新しいパイプライン クエリを試しているので、以下のクエリを実行してみます。
クエリに一致するものがないため、空の結果が返されます。問題は $match コマンドにあると思います。ドット表記の一致コメント所有者を使用していますが、それが正確かどうかはわかりません。このクエリが 'Harry' である所有者を返さない理由。私はそれがdbに存在すると確信しています。