php エディター Xigua は今日、フィルタリング クエリ mongodb の Golang 実装を紹介します。データクエリにmongodbデータベースを使用する場合、多くの場合、特定の条件を満たすようにクエリ結果をフィルタリングする必要があります。 Golang は強力なプログラミング言語として、フィルタリング クエリ関数を簡単に実装できる豊富な mongodb ドライバー ライブラリを提供します。次に、誰もがこの機能をよりよく適用して理解できるように、mongodb を使用して Golang でクエリをフィルタリングする方法を詳しく紹介します。
特定のクエリに一致するデータのリストを取得しようとしていますが、次のエラーが発生します
リーリー"(atlaserror) merchant is not allowed or the syntax is incorrect, see the atlas documentation for more information"
filterquery
には { "merchant" : { "id" : "abc" } }
が含まれているようで、これは渡されます単独で .aggregate()
を与えます。ただし、集約フレームワークは、一連のパイプライン ステージを表すものを受け取ることを期待しています。 各フェーズはドキュメントで 概要が説明されており、$
文字で始まることが期待されます (例: $match
フェーズ)。
現在のデータベースは、merchant
をパイプラインの options
として処理しようとしています (ここ および ここ を参照)。しかし、そのようなオプションは存在しないため、エラーメッセージが表示されます。
これを修正するには、filterquery
ロジックを、構築して渡している既存の match
変数/ステージにマージする必要があります。あるいは、filterquery
を別の $match
でラップし、それらを (単一の引数として) .aggregate()
に渡すこともできます。
この例 文档中的a> は、複数の ステージ を構築し、それらを mongo.pipeline{...}
:
経由でまとめて送信することを示しています。集計()###
リーリー
以上がフィルタークエリmongodb Golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。