[解決済み】mongodbでオブジェクトの配列内を検索する方法
2022-04-01 21:29:22
質問
mongodbのドキュメント(テーブル) 'users'が以下の通りだとします。
{
_id: 1,
name: {
first: 'John',
last: 'Backus'
},
birth: new Date('Dec 03, 1924'),
death: new Date('Mar 17, 2007'),
contribs: ['Fortran', 'ALGOL', 'Backus-Naur Form', 'FP'],
awards: [
{
award: 'National Medal',
year: 1975,
by: 'NSF'
},
{
award: 'Turing Award',
year: 1977,
by: 'ACM'
}
]
}
// ...and other object(person)s
国民栄誉賞を受賞している人を探したいのですが、1975年に受賞したものでなければなりません。 この賞の受賞者は、別の年でも存在する可能性があります。
賞の種類と年度を使用して、この人物を見つけるにはどうすればよいですか。そうすれば、正確な人物を得ることができます。
解決方法は?
正しい方法は
db.users.find({awards: {$elemMatch: {award:'National Medal', year:1975}}})
$elemMatch
を使用すると、同じ配列要素内で複数のコンポーネントにマッチさせることができます。
なし
$elemMatch
は、ある年の国民栄誉賞を受賞したユーザーを探しますが、1975年の国民栄誉賞を受賞したユーザーを探しません。
参照 MongoDB $elemMatch ドキュメント をご覧ください。参照 運用ドキュメントを読む は、配列による文書の問い合わせについて、より詳しい情報を提供しています。
関連
-
[解決済み】webpack: モジュールが見つかりません。Error: 解決できない(相対パスで)
-
[解決済み】HTMLの最初の行に予期しないトークン<がある。
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
-
[解決済み] JavaScriptのオブジェクトにキーが存在するかどうかをチェックする?
-
[解決済み] オブジェクトが配列であるかどうかを確認するにはどうすればよいですか?[重複]。
-
[解決済み】別のウェブページにリダイレクトするにはどうすればいいですか?
-
[解決済み】配列に何かを追加する方法は?
-
[解決済み】オブジェクトからプロパティを削除する(JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】SecurityError: オリジンを持つフレームがクロスオリジンフレームにアクセスするのをブロックした
-
[解決済み】jquery $.ajaxオブジェクトのresponseJSONプロパティを取得する方法 [重複]。
-
[解決済み】最大呼び出しスタックサイズ超過エラーとその修正方法とは?
-
[解決済み】React.jsの配列の子要素のユニークキーを理解する
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み】ES6マップオブジェクトをソートすることは可能ですか?
-
[解決済み】Babel NodeJS ES6: SyntaxError: 予期しないトークンのエクスポート
-
[解決済み】react router v^4.0.0 Uncaught TypeError: 未定義のプロパティ'location'を読み取れない
-
[解決済み] Uncaught (in promise) TypeError: フェッチに失敗してCorsエラー