参照ドキュメントで全文検索を使用するにはどうすればよいですか?

オタビオボンダー

私はこれが以前に尋ねられたことを知っています、しかし私は私のために働く答えを見つけることができません。

私は次のように、別の文書への参照を持っているいくつかの書類を、持っているusersorders

Users モデル:

import mongoose from '../database/index.js';
import mongoosePaginate from 'mongoose-paginate-v2';

const UsersSchema = new mongoose.Schema({
    user_id: {
        type: String,
        required: true,
    },
    email: {
        type: String,
        required: true,
        unique: true,
    },
    firstName: {
        type: String,
        default: '',
    },
    lastName: {
        type: String,
        default: '',
    },
    orders: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Orders',
        },
    ],
    recipients: [
        {
            type: mongoose.Schema.Types.ObjectId,
            ref: 'Recipients',
        },
    ],
    createdAt: {
        type: Date,
        default: Date.now,
        required: true,
        select: false,
    },
});

UsersSchema.index({ email: 'text', firstName: 'text', lastName: 'text' });

UsersSchema.plugin(mongoosePaginate);

UsersSchema.set('toJSON', {
    virtuals: true,
});

const Users = mongoose.model('Users', UsersSchema);

export default Users;

Orders モデル:

import mongoose from '../database/index.js';
import mongoosePaginate from 'mongoose-paginate-v2';
import Users from './users.js';

import OrderStatus from '../enums/OrderStatusEnum.js';

const OrdersSchema = new mongoose.Schema({
    user: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'Users',
        required: true,
    },
    total: {
        type: Number,
        required: true,
    },
    status: {
        type: String,
        enum: OrderStatus.values(),
        required: true,
        default: OrderStatus.CREATED,
    },
    payment: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'PaymentMethods',
        required: true,
    },
    shortId: {
        type: String,
        required: true,
    },
    createdAt: {
        type: Date,
        default: Date.now,
        required: true,
    },
});

OrdersSchema.index({ shortId: 'text' });

OrdersSchema.plugin(mongoosePaginate);

OrdersSchema.pre('remove', function (next) {
    Users.update({ orders: this._id }, { $pull: { orders: this._id } }).exec();
    next();
});

OrdersSchema.set('toJSON', {
    virtuals: true,
});

const Orders = mongoose.model('Orders', OrdersSchema);

export default Orders;

$text検索を使用して、注文またはユーザーからの全文検索を照会できます。

    const orders = await Orders.paginate(
        { $text: { $search: query.filter.q } },
        query.options
    );
    return orders;

ただし、これは注文インデックスのみを検索します。つまり、名がであるユーザーの順序を検索したい場合、これはからへの参照であるためJoeuser.firstNameフィールドでも検索するようにするにどうすればよいですか?OrdersUsers

フィールドにデータを入力してからすべてのモデルを検索することはできませんが、探しているものを実現する方法がわかりません。

前もって感謝します

D. SM

全文検索クエリは集計パイプラインの最初の段階である必要があるため、現在、同じクエリの一部として2つのコレクションで全文検索を実行することはできません。

データを再編成する必要があります。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Couchbaseに対する全文検索クエリの応答でドキュメントを取得するにはどうすればよいですか?

分類Dev

MarkLogicで、キーのみを使用してJSONドキュメントを検索するにはどうすればよいですか?

分類Dev

Javaを使用してmongodbでドキュメントを検索し、フィールドを削除するにはどうすればよいですか?

分類Dev

tsvectorフィールドを使用してpostgresql全文検索でDjangoのランキングを実行するにはどうすればよいですか?

分類Dev

MongoDBを使用して大きなドキュメントを保存および検索するにはどうすればよいですか?

分類Dev

Zealdocsで.NETドキュメントの検索フィルターを使用するにはどうすればよいですか?

分類Dev

SphinxドキュメントでDjangoモデルを参照するにはどうすればよいですか?

分類Dev

ドキュメントごとにヒットした検索語を返すようにSolrに指示するにはどうすればよいですか?

分類Dev

cloudant-clientを使用してcloudantgeospacialindexのドキュメントを検索するにはどうすればよいですか?

分類Dev

Auth UIDを参照するドキュメントを聞くにはどうすればよいですか?

分類Dev

全文検索をSQLServer 2016にインストールするにはどうすればよいですか?

分類Dev

ドキュメントの値にアクセスするMongoDBで「検索」条件を表現するにはどうすればよいですか?

分類Dev

mongoコレクションで1回の実行でドキュメントを検索、反復、更新するにはどうすればよいですか?

分類Dev

RavenDbの関連ドキュメントフィールドで検索インデックスを作成するにはどうすればよいですか?

分類Dev

MarkLogicでURIとコレクション名を渡してドキュメントを検索するにはどうすればよいですか?

分類Dev

escape()メソッドを使用してノードでmysql全文検索を使用するにはどうすればよいですか?

分類Dev

特別な単語が3回含まれているドキュメントを検索するにはどうすればよいですか?

分類Dev

Firebase Cloudドキュメントのフィールド内で複数の値を検索するにはどうすればよいですか?

分類Dev

Djangoのコマンドラインドキュメントを検索するにはどうすればよいですか?

分類Dev

ドキュメント内で検索された複数の単語を強調表示するにはどうすればよいですか?

分類Dev

FaunaDBの検索で見つかったドキュメントを削除するにはどうすればよいですか?

分類Dev

mongodbに埋め込まれたドキュメントを検索するにはどうすればよいですか?

分類Dev

検索ボックスに入力されたドキュメント内の単語を強調表示するにはどうすればよいですか?

分類Dev

全文キーワード検索を行うにはどうすればよいですか

分類Dev

CosmosDBドキュメント配列でnレベルのみを検索するにはどうすればよいですか?

分類Dev

Rのドキュメントで辞書の単語を検索するにはどうすればよいですか?

分類Dev

Android Studio:ドキュメントフォルダーを検索やその他の機能から除外するにはどうすればよいですか?

分類Dev

Nokogiriドキュメントで属性値を検索して置き換えるにはどうすればよいですか?

分類Dev

Makefileでヒアドキュメントを使用するにはどうすればよいですか?

Related 関連記事

  1. 1

    Couchbaseに対する全文検索クエリの応答でドキュメントを取得するにはどうすればよいですか?

  2. 2

    MarkLogicで、キーのみを使用してJSONドキュメントを検索するにはどうすればよいですか?

  3. 3

    Javaを使用してmongodbでドキュメントを検索し、フィールドを削除するにはどうすればよいですか?

  4. 4

    tsvectorフィールドを使用してpostgresql全文検索でDjangoのランキングを実行するにはどうすればよいですか?

  5. 5

    MongoDBを使用して大きなドキュメントを保存および検索するにはどうすればよいですか?

  6. 6

    Zealdocsで.NETドキュメントの検索フィルターを使用するにはどうすればよいですか?

  7. 7

    SphinxドキュメントでDjangoモデルを参照するにはどうすればよいですか?

  8. 8

    ドキュメントごとにヒットした検索語を返すようにSolrに指示するにはどうすればよいですか?

  9. 9

    cloudant-clientを使用してcloudantgeospacialindexのドキュメントを検索するにはどうすればよいですか?

  10. 10

    Auth UIDを参照するドキュメントを聞くにはどうすればよいですか?

  11. 11

    全文検索をSQLServer 2016にインストールするにはどうすればよいですか?

  12. 12

    ドキュメントの値にアクセスするMongoDBで「検索」条件を表現するにはどうすればよいですか?

  13. 13

    mongoコレクションで1回の実行でドキュメントを検索、反復、更新するにはどうすればよいですか?

  14. 14

    RavenDbの関連ドキュメントフィールドで検索インデックスを作成するにはどうすればよいですか?

  15. 15

    MarkLogicでURIとコレクション名を渡してドキュメントを検索するにはどうすればよいですか?

  16. 16

    escape()メソッドを使用してノードでmysql全文検索を使用するにはどうすればよいですか?

  17. 17

    特別な単語が3回含まれているドキュメントを検索するにはどうすればよいですか?

  18. 18

    Firebase Cloudドキュメントのフィールド内で複数の値を検索するにはどうすればよいですか?

  19. 19

    Djangoのコマンドラインドキュメントを検索するにはどうすればよいですか?

  20. 20

    ドキュメント内で検索された複数の単語を強調表示するにはどうすればよいですか?

  21. 21

    FaunaDBの検索で見つかったドキュメントを削除するにはどうすればよいですか?

  22. 22

    mongodbに埋め込まれたドキュメントを検索するにはどうすればよいですか?

  23. 23

    検索ボックスに入力されたドキュメント内の単語を強調表示するにはどうすればよいですか?

  24. 24

    全文キーワード検索を行うにはどうすればよいですか

  25. 25

    CosmosDBドキュメント配列でnレベルのみを検索するにはどうすればよいですか?

  26. 26

    Rのドキュメントで辞書の単語を検索するにはどうすればよいですか?

  27. 27

    Android Studio:ドキュメントフォルダーを検索やその他の機能から除外するにはどうすればよいですか?

  28. 28

    Nokogiriドキュメントで属性値を検索して置き換えるにはどうすればよいですか?

  29. 29

    Makefileでヒアドキュメントを使用するにはどうすればよいですか?

ホットタグ

アーカイブ