簡體   English   中英

MongoDB/Mongoose:在填充字段內排序

[英]MongoDB/Mongoose: Sorting within a populated field

我是 MongoDB 的新手,我無法找到以下問題的解決方案:

我正在嘗試根據他們的等級對人員進行排序。

CollectionPerson: _id, name, {rank_id}

CollectionRank: _id, RankName, level

我想要完成的是按等級順序獲得列表。

任何解決方案或方向指向都會很好。

/編輯:

我的模型:

const RankSchema = new Schema({
    level: Number,
    dgGrp: Number,
    dgSold: String,
    dgNATO: String,
    hut: {
        bezX: String,
        bezM: String,
        bezS: String,
        img: String
    },
    lut: {
        bezX: String,
        bezM: String,
        bezS: String,
        img: String
    },
    mut: {
        bezX: String,
        bezM: String,
        bezS: String,
        img: String
    }
});

const PersonalSchema = new Schema({
    name: {
        type: String,
        required: true,
    },
    vname: String,
    pNum: {
        type: String,
        default: '01010101',
    },
    pKenn: {
        type: String,
        default: '010101-A-01010',
    },
    dg: {
        type: Schema.Types.ObjectId,
        required: true,
        ref: 'Rank'
    },
    uni: String,
    sex: String,
    konf: String,
    adresse: {
        str: String,
        plz: Number,
        ort: String,
        land: String,
        staat: String
    }
});

我的查詢:

const personal = await Personal.find({}).populate({ path: 'dg', options: { sort: { level: 1 } } });

在獲取基本文檔的查詢已經執行后,填充由 Mongoose 在客戶端完成。 因此,已經完成對基本文檔的排序(如果需要)。

你可以:

  • 構建聚合管道,$lookup 和 $sort 自己。
  • 讓 Mongoose 填充您的文檔,然后在您的應用程序中根據需要重新排序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM