【问题标题】:Mongoose .populate()猫鼬 .populate()
【发布时间】:2020-05-26 13:19:57
【问题描述】:

我是初学者。

我有两个猫鼬模式,订单和客户。

订单架构

const mongoose = require("mongoose");

const orderSchema = new mongoose.Schema({
    customer: {type: mongoose.Schema.Types.ObjectId, ref: "Customer"}    
});

module.exports = mongoose.model("Order", orderSchema);

客户架构

const mongoose        = require("mongoose"),
passportLocalMongoose = require("passport-local-mongoose");

const customerSchema = new mongoose.Schema({
    name: String,
    email: String
    username: String,
    password: String
});

customerSchema.plugin(passportLocalMongoose);
module.exports = mongoose.model("Customer", customerSchema);

这是我插入新订单时的代码

const Orders = require("../models/orders");

Orders.create({customer: req.user});

我想使用 .populate() 控制台.log() 所有订单和客户

这是我的代码

Orders.find({}).populate("customers").exec((err, order) => {
    if(err) {
        console.log(err);
    } else {
        console.log(order);
    }
});

我想获取客户的 ID、姓名和电子邮件,但问题是我只获取了客户的 ID

【问题讨论】:

    标签: node.js express mongoose


    【解决方案1】:
    Orders.find({}).populate("customer").exec((err, order) => {
    if(err) {
        console.log(err);
    } else {
        console.log(order);
    }
    })
    
    or you can try
    
        Orders.find({}).populate({path:"customer"}).exec((err, order) => {
    if(err) {
        console.log(err);
    } else {
        console.log(order);
    }
    

    })

    【讨论】:

      猜你喜欢
      • 2020-11-19
      • 2016-02-21
      • 2020-02-21
      • 1970-01-01
      • 2014-01-01
      • 2023-04-09
      • 2020-07-07
      • 2019-05-19
      • 2019-06-24
      相关资源
      最近更新 更多