phpエディタStrawberryでは、ネストされたフィールドに同じ名前のテキストインデックスを作成する方法を紹介します。データベースでは、ネストされたフィールドで検索とクエリを実行する必要がある状況によく遭遇します。ただし、同じ名前のネストされたフィールドが複数ある場合、テキスト インデックスの作成は複雑になります。この記事では、この問題に対処する方法と解決策を詳しく説明します。次に、同じ名前のネストされたフィールドのテキスト インデックスを簡単に作成する手順を段階的に説明します。
同じ名前の 2 つのネストされたフィールドに複合テキスト インデックスを作成しようとしています。これをやろうとしている理由は、両方のフィールドで mongo を使用して全文検索を実行できるようにするためです。
例からわかるように、question
と answer
には同じネストされたフィールド statement
があります。 質問と回答のテキスト インデックスを作成しようとしています
これは機能せず、次のエラーが発生しました:
リーリーp.s: go に詳しくない場合は、mongodb go ドライバーへのマッピングが非常に簡単なので、mongodb にアップロードすることもできます。
お願いしますコレクションには最大 1 つの テキスト インデックス .
を含めることができることに注意してください。これを知っていて、"question.statement"
と "answer.statement"
をカバーするテキスト インデックスを作成したい場合は、これで機能します。
あなたの間違いはインデックスの指定です: bson .d
はドキュメント、つまり属性 (名前と値のペア) の順序付きリストを表します。これは bson.e
の一部であり、bson.e
は次のとおりです。
リーリー
key は属性の名前、
value は属性の値です。したがって、これを逆さまにすると、次のようになります。
リーリー
以上が同じ名前のネストされたフィールドのテキスト インデックスを作成する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。