首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mongoose .populate()

Mongoose .populate()
EN

Stack Overflow用户
提问于 2020-05-26 11:09:04
回答 1查看 34关注 0票数 0

我是个初学者。

我有两个mongoose模式,orders和customers。

订单模式

代码语言:javascript
复制
const mongoose = require("mongoose");

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

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

customers模式

代码语言:javascript
复制
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);

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

代码语言:javascript
复制
const Orders = require("../models/orders");

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

我想使用.populate()来console.log()所有的订单和客户

以下是我的代码

代码语言:javascript
复制
Orders.find({}).populate("customers").exec((err, order) => {
    if(err) {
        console.log(err);
    } else {
        console.log(order);
    }
});

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-26 13:19:57

代码语言:javascript
复制
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);
}

})

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62014003

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档