フィルタークエリmongodb Golang

WBOY
リリース: 2024-02-12 08:33:18
転載
735 人が閲覧しました

过滤查询 mongodb Golang

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"
ログイン後にコピー

Solution

filterquery には { "merchant" : { "id" : "abc" } } が含まれているようで、これは渡されます単独で .aggregate() を与えます。ただし、集約フレームワークは、一連のパイプライン ステージを表すものを受け取ることを期待しています。 各フェーズはドキュメントで 概要が説明されており、$ 文字で始まることが期待されます (例: $match フェーズ)。

現在のデータベースは、merchant をパイプラインの options として処理しようとしています (ここ および ここ を参照)。しかし、そのようなオプションは存在しないため、エラーメッセージが表示されます。

これを修正するには、filterquery ロジックを、構築して渡している既存の match 変数/ステージにマージする必要があります。あるいは、filterquery を別の $match でラップし、それらを (単一の引数として) .aggregate() に渡すこともできます。

この例 文档中的a> は、複数の ステージ を構築し、それらを mongo.pipeline{...}:

経由でまとめて送信することを示しています。集計()### リーリー

以上がフィルタークエリmongodb Golangの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!