在nodejs中填充并且猫鼬不起作用

问题描述

我有一个用于保存信息的架构,在此信息中,我有一个userId,并且我想返回该架构的信息并返回用户表单user架构的信息。

TravelRequestSchema:

 const TravelRequestSchema = new Schema({
    userId: { type: Schema.Types.ObjectId,ref: "User" }
    description: { type: String,require: true }
},{
    toObject: { virtuals: true },toJSON: { virtuals: true }
});

用户架构:

 const UserSchema = new Schema({
    firstName: { type: String },lastName: { type: String },phoneNumber: { type: String },email: { type: String,defult: null }
},{
        toJSON: { virtuals: true }
});

现在我为获取信息写了这个问题:

await TravelRequestModel.find({})
        .populate('User')
        .exec();

但它不会返回我的用户信息,它只会返回UserId

现在我该如何解决这个问题?

解决方法

您希望查询填充特定字段,而不是模型名称

$path = str_replace('\\','/',WP_CONTENT_DIR . '/uploads/pdf-files');

$zip = new ZipArchive();

$filename = str_replace('\\',WP_CONTENT_DIR . '/uploads/pdf-files/zip-file.zip');

if($zip->open($filename,ZipArchive::CREATE) !== true) {
    die("Error open");
}

if(is_dir($path)) {
    if($dh = opendir($path)) {
        while(($file = readdir($dh)) !== false) {
            $file_parts = pathinfo($file);

            if($file_parts['extension'] == 'pdf') {
                if($zip->addFile($path . '/' . $file) !== true) {
                    die("Error addFile");
                } else {
                    echo $file . "\n";
                }
            }
        }

        closedir($dh);
    }
}

if($zip->close() !== true) {
    die("Error close");
}

echo content_url('uploads/pdf-files/zip-file.zip');

wp_die();

这是因为如果您有多个引用同一模型的字段,则希望能够选择要填充的字段

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...