首页 > 解决方案 > 如何在 Mongoose 数组中找到前十个最新对象 | Discord.js MongooseDB

问题描述

嘿所以我想让它只列出猫鼬数组中的 10 个最新对象,目前它列出了所有

我当前的代码:

ProofModel.findOne({ id: guildId }, async (err, data) => {
    if(err) throw err;
    if(data.Proofs.length) {
        embed.setDescription(
            data.Proofs.map(
                (w, i) => 
                `\`${i + 1}\` | User : ${message.guild.members.cache.get(w.user).user.tag} | Proof : [Click Here To Veiw](${w.proof})`
            )
        )

        message.channel.send(embed);
    }
});

架构:

架构

标签: javascriptnode.jsarraysmongoose

解决方案


我认为您正在寻找 $slice 运算符。文档在这里

您正在寻找的代码是这样的:

ProofModel.findOne({ id: guildId } , { Proofs: { $slice : -10 } } , async (err, data) => {
    if(err) throw err;
    if(data.Proofs.length) {
        embed.setDescription(
            data.Proofs.map(
                (w, i) => 
                `\`${i + 1}\` | User : ${message.guild.members.cache.get(w.user).user.tag} | Proof : [Click Here To Veiw](${w.proof})`
            )
        )

        message.channel.send(embed);
    }
});

推荐阅读