`pouchdb-find` Mango Query with with `$and` and nested `$or` with partially matching `$elemMatch` tree misses a case.
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- javascript
- 領域
- databases
調査の方向性
まず、PouchDB-find v9.0.0でネストされた$and/$orおよび$elemMatchクエリを再現し、次にクエリの組み合わせを展開するselector処理を追跡します。4番目に期待される組み合わせが保持され、このケースを対象とする回帰テストが追加されれば完了です。
索引モデルが issue の本文から書いたものです。
説明
PouchDB: v9.0.0
PouchDB-find: v9.0.0
Mango Query with with $and and nested $or with partially matching tree misses a case.
query given to find:
{ selector: {
$and: [{
$or: [
{ title: { $eq: "IBM" } },
{ releases: { $elemMatch: { localTitle: { $elemMatch: { $eq: "IBM" } } } } }
] }, {
$or: [
{ madeIn: { $eq: "US" } },
{ releases: { $elemMatch: { madeFor: { $eq: "US" } } } }
]}
}}
results into:
{ selector: {
$or: [{
{ title: { $eq: "IBM" } },
{ madeIn: { $eq: "US" } },
}, {
{ title: { $eq: "IBM" } },
{ releases: { $elemMatch: { madeFor: { $eq: "US" } } } }
}, {
{ releases: { $elemMatch: { localTitle: { $elemMatch: { $eq: "IBM" } } } } },
{ madeIn: { $eq: "US" } }
}],
}}
expected (if modified at all):
{ selector: {
$or: [{
{ title: { $eq: "IBM" } },
{ madeIn: { $eq: "US" } },
}, {
{ title: { $eq: "IBM" } },
{ releases: { $elemMatch: { madeFor: { $eq: "US" } } } }
}, {
{ releases: { $elemMatch: { localTitle: { $elemMatch: { $eq: "IBM" } } } } },
{ madeIn: { $eq: "US" } }
}, {
{ releases: { $elemMatch: { localTitle: { $elemMatch: { $eq: "IBM" } } } } },
{ releases: { $elemMatch: { madeFor: { $eq: "US" } } } }
}],
}}
- 主要言語
- JavaScript
- スター
- 17.6k
- フォーク
- 1.5k
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/pouchdb のほかの issue
-
elemMatch throws TypeError: value is null if array has null element対応中かも @henyanagar が 142 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 22/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 55/100
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
似ている issue
-
Handle HTTP errors when downloading release binaries対応中かも @mugenkyou が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
neutralinojs/neutralinojs-cli#468 ·
メンテナーはふだん 1 日以内に返信
-
area:ci priority:p0 type:chore
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
lucacasanova/homedeck#2 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
terser/html-minifier-terser#242 ·
-
enhancement good first issue
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
MustacheCase/zanadir#516 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
stylelint-scss/stylelint-config-standard-scss#297 · コメント 1 件 ·