本文介绍了猫鼬.populate()的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我是初学者.
我有两个猫鼬模式,即订单和客户.
I have two mongoose schema, orders and customers.
订单模式
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);
这是我插入新订单时的代码
This is my code when I insert new order
const Orders = require("../models/orders");
Orders.create({customer: req.user});
我想使用.populate()来console.log()所有订单和客户
I want to console.log() all the orders and customers by using .populate()
这是我的代码
Orders.find({}).populate("customers").exec((err, order) => {
if(err) {
console.log(err);
} else {
console.log(order);
}
});
我想获取客户的ID,姓名和电子邮件,但问题是我只获取客户的ID
I want to get the customer's id, name, and email but the problem is I only get the customer's id
推荐答案
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);
}
})
这篇关于猫鼬.populate()的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!