2
你好,我是新來節點js和貓鼬 我有兩個方案,我想有其他架構中架構對象 我的計劃如何發佈和更新模式數組中的模式並打印它?
user.js的
// grab the things we need
var mongoose = require('mongoose');
var Schema = mongoose.Schema;
var Genre = require('../Models/genre');
// create a schema
var userSchema = new Schema({
name: { type: String, required: true, unique: true , index:true},
email: { type: String, required: true, unique: true },
password: { type: String, required: true },
age: String,
gender: String,
genres: [{type: Schema.ObjectId, ref: Genre.Genre}] //this is the genre schema - the user can have many genres
});
// the schema is useless so far
// we need to create a model using it
var User = mongoose.model('User', userSchema);
// make this available to our users in our Node applications
module.exports = User;
也試圖做
genres: [{type: Schema.Type.ObjectId, ref: Genre.Genre}]
and genres: ['Genre']
和genre.js
// grab the things we need
var mongoose = require('mongoose');
var Schema = mongoose.Schema,
ObjectId = Schema.ObjectId;
// create a schema
var genreSchema = new Schema({
name: { type: String, required: true, unique: true, index: true },
age: String,
gender: String
});
// the schema is useless so far
// we need to create a model using it
var Genre = mongoose.model('Genre', genreSchema);
// make this available to our genres in our Node applications
module.exports = Genre;
首先我想知道如果它的方式做到這一點?有更好的辦法嗎?
當我由郵遞員發佈用戶的用戶加入,但我不得到充分的風格,我不知道,如果它的正確保存
這是JSON我張貼
{
"name":"erez",
"age": "23",
"password":"erez1234",
"email":"[email protected]",
"gender":"Male",
"genres": ["57285fe32c3c15e40c000001"] /// what should be here? is it right?
}
,這是讓用戶JSON
[
{
"_id": "572874be9b43cb4834000002",
"name": "erez",
"age": "23",
"password": "yaniv1234",
"email": "[email protected]",
"gender": "Male",
"__v": 0,
"genres": [
"57285fe32c3c15e40c000001"
]
}
]
如果正確 我怎麼能與一個讓用戶所有類型發送完整的用戶?
希望我足夠清楚
感謝助理
所以我發佈的帖子用戶是正確的?我可以爲所有用戶填充嗎?或只有通過findone?也可以通過findById函數完成? – Erez
是的,你寫數據的方式是正確的。和閱讀部分一樣,任何'find()'或'findOne()'方法都可以鏈接'populate()'函數,我只是給了findOne作爲例子。如果你想爲所有用戶填充,這可以擴展到'find()'方法。 – chridam
謝謝你幫了我 – Erez