Mongoose Populate 如何不使用 ObjectIds 数组?
How can Mongoose Populate not working with Array of ObjectIds?
我正在尝试使用 objectId 字段数组填充猫鼬查询。
在另一个具有单个 objectId ref 的字段中工作正常。
那是我的 "User" 模特:
const User = new Schema({
nome: {
type: String,
required: true
},
email: {
type:String,
required: true
}
})
mongoose.model('users',User)
那是我的 "Pedido" 模特:
const Schema = mongoose.Schema
const Pedido = new Schema({
id: {
type: String,
required: true
},
cliente: {
type: Schema.Types.ObjectId,
ref: 'clientes',
required: true
},
fotografos: {
type: [Schema.Types.ObjectId],
ref: 'users'
}
})
mongoose.model('pedidos',Pedido)
我的路由器:
router.get('/pedidos',async(req,res)=>{
var query = await Pedido.find().populate('fotografos').populate('cliente').lean().exec()
console.log(query)
res.render("admin/pedidos",{pedidos: query})
})
这是 console.log 中的结果:
[
{
_id: 5e8e3bd16c57021f682b8e81,
fotografos: [],
cliente: {
_id: 5e8ccceea8a28146d86f4cac,
nome: 'Neymar',
email: 'neymar@ney.com',
__v: 0
},
__v: 0
}
]
fotografos 字段(数组)正在返回空。
客户字段 returns 填充。
有人可以帮我解决这个问题吗?
您可以使用此代码...
fotografos:[{
type: [Schema.Types.ObjectId],
ref: 'users'
}]
**Then do Populate**
我正在尝试使用 objectId 字段数组填充猫鼬查询。 在另一个具有单个 objectId ref 的字段中工作正常。
那是我的 "User" 模特:
const User = new Schema({
nome: {
type: String,
required: true
},
email: {
type:String,
required: true
}
})
mongoose.model('users',User)
那是我的 "Pedido" 模特:
const Schema = mongoose.Schema
const Pedido = new Schema({
id: {
type: String,
required: true
},
cliente: {
type: Schema.Types.ObjectId,
ref: 'clientes',
required: true
},
fotografos: {
type: [Schema.Types.ObjectId],
ref: 'users'
}
})
mongoose.model('pedidos',Pedido)
我的路由器:
router.get('/pedidos',async(req,res)=>{
var query = await Pedido.find().populate('fotografos').populate('cliente').lean().exec()
console.log(query)
res.render("admin/pedidos",{pedidos: query})
})
这是 console.log 中的结果:
[
{
_id: 5e8e3bd16c57021f682b8e81,
fotografos: [],
cliente: {
_id: 5e8ccceea8a28146d86f4cac,
nome: 'Neymar',
email: 'neymar@ney.com',
__v: 0
},
__v: 0
}
]
fotografos 字段(数组)正在返回空。 客户字段 returns 填充。
有人可以帮我解决这个问题吗?
您可以使用此代码...
fotografos:[{
type: [Schema.Types.ObjectId],
ref: 'users'
}]
**Then do Populate**