ホームページ  >  記事  >  バックエンド開発  >  フィルタークエリmongodb Golang

フィルタークエリmongodb Golang

WBOY
WBOY転載
2024-02-12 08:33:18773ブラウズ

过滤查询 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 までご連絡ください。