我有以下模型:
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const imputerSchema = new mongoose.Schema({
dninie: {
type: String,
trim: true,
},
name: {
type: String,
trim: true,
required: true,
},
lastname: {
type: String,
trim: true,
required: true,
},
second_lastname: {
type: String,
trim: true,
},
phone : {
type: Number,
unique: true,
trim: true,
},
qr: {
type : String,
unique: true,
default: Date.now
}
});
module.exports = mongoose.model('Imputer', imputerSchema)
const mongoose = require('mongoose');
mongoose.Promise = global.Promise;
const imputationSchema = new mongoose.Schema({
qr: {
type: String,
trim: true,
required: true,
ref: 'Imputer',
},
imputation_date: {
type: String,
default: Date.now,
required: true,
},
coordinates: {
type: [Number, Number],
index: '2d',
},
});
module.exports = mongoose.model('Imputation', imputationSchema);我试着像这样查询:
Imputation.find()
.populate('imputer.qr')
.exec()
.then(docs => console.log(docs));我也试过了
Imputation.find()
.populate('imputer')
.exec()
.then(docs => console.log(docs));但是我只得到了关于补偿模型的文档,而没有关于计算器模型的字段。
以下是文档外观的一些屏幕截图


发布于 2019-07-19 04:33:28
按如下方式更改您的imputationSchema:
const imputationSchema = new mongoose.Schema({
qr: {
type: mongoose.Types.ObjectId, ref: "Imputer",
trim: true,
required: true,
},
// other fields...
});然后像这样查询:
Imputation.find()
.populate('qr')
.exec()
.then(docs => console.log(docs));https://stackoverflow.com/questions/57101801
复制相似问题