我正在為用戶創建一個 Web 應用程式來存盤他們的日常開支。該應用程式在 NodeJS 中并使用 Express。收集用戶和用戶資料的架構如下:
const dataSchema = new mongoose.Schema({
email:String,
date:String,
amount: Number
})
const userSchema = new mongoose.Schema({
email: String,
password: String,
data: {dataSchema}
})
const User = new mongoose.model("User", userSchema);
const UserData = new mongoose.model("UserData", dataSchema);
我想做的是連接 dataSchema到userSchema.
我希望dataSchema為每個用戶的每一天創建一個新的。我希望連接這些模式,以便userData可以以統一的形式查看,而不是分散在不同用戶的資料庫中。是否可以這樣做,因為目前“資料”欄位中沒有顯示資料

uj5u.com熱心網友回復:
userSchema您可以使用and之間的關系dataSchema,如下所示:
const Schema = mongoose.Schema;
const userSchema = new Schema({
email: String,
password: String,
data: {
type: Schema.Types.ObjectId,
ref: "UserData",
},
})
從那里你可以使用很多操作,比如人口。我建議你在這里閱讀官方檔案,但這里是一個概述:
如何創建和連接:
// create a userData
const userData = new UserData({email: "[email protected]", date: "some date", amount : 3});
// create a user and make connection
const user = new User({email: "[email protected]", password : "me", data: userData._id})
如何用他的資料查詢用戶:
const user = await User.findOne({ email: '[email protected]' }).populate('userData');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/429519.html
上一篇:從MongoDB資料庫中抽取隨機獲勝條目的問題(使用Mongoose和NodeJS)
下一篇:根據其他欄位貓鼬模式設定欄位值
