私は人口を増やしてプレイしようとしますが、成功しません... これは可能ですか?モンゴーズが配列に入っています
は私が持っている2シェマ: - ユーザー
import mongoose, { Schema } from 'mongoose'
const userSchema = new Schema({
email: { type: String, unique: true },
password: String,
passwordResetToken: String,
passwordResetExpires: Date,
products: [{
productId: { type: Schema.Types.ObjectId, ref: 'Product' },
dateAdd: { type: Date, default: Date.now }
}]
}, { timestamps: true })
const User = mongoose.model('User', userSchema)
export default User
と製品:
import mongoose, { Schema } from 'mongoose'
const productSchema = new Schema({
domain: String,
originUrl: { type: String },
price: Number,
img: String,
userFollow: [{ type: Schema.Types.ObjectId, ref: 'User' }]
})
const Product = mongoose.model('Product', productSchema)
export default Product
は、だから私は私のprodcutIdのそれぞれについて、すべての情報を取得したい
私がしようこの方法(および成功しなかった多くの他のもの):
User.findOne({ _id: userId }).populate({
path: 'products.productId',
populate: { path: 'products.productId', model: 'Products' }
}).exec(function (err, products) {
if (err) {
console.log('errors :' + err)
}
console.log('Product => ' + util.inspect(products))
})
移入はちょうどfindOne()
あなたは 'products'を返さず、' products'の配列を持つ 'user'を1つ返します。 'model: 'Products''を削除するか、' model:' Product''を実行してみてください。 – Mikey