初めて私はmongooseでrefrenceを使用しようとしているので、私はユーザーIDでテンプレートを保存するかどうかを理解しようとしています。クライアントからのcreatedBy
値を取得する必要がありますか?templateSchema
に挿入される方法。基本的に私はユーザIDを_id
に保存したいと思っています。テンプレートを保存することができましたが、何もエラーが出ず、createdBy
プロパティがテンプレートコレクションに保存されませんでした。 mongooseでrefrencingを理解するための任意のlaymanの説明と私はそれを下のコードで動作させることができますどのように。マングースでのコレクション参照はどのように機能しますか?
user.jsの
var UserSchema = new mongoose.Schema({
_id: { type: String, required: true, index: {unique: true}},
firstName: String,
lastName: String,
type: String,
groups:[{type: String, ref: 'Group', required: false}]
},
{
toObject: {
virtuals: true
},
toJSON: {
virtuals: true
}
});
template.js
var User = require('../user/user.model.js');
var TemplateSchema = new mongoose.Schema({
_id: { type: String, required: true},
name: String,
id: String,
appliesTo: [],
properties: [],
createdBy: { type: mongoose.Schema.Types.ObjectId, ref: 'User'}
});
templateCtrl.js
var eTemplate = require('./template.model');
var templatesJavaClass = {
"_id": 12586,
"name": "Java Class",
"id": "javaClass",
"appliesTo": [
"bpmn:UserTask"
],
"properties": [{
"label": "Java Package Name",
"type": "String",
"editable": true,
"binding": {
"type": "property",
"name": "camunda:class"
}
}],
"createdBy": "user1"
}
var template = new eTemplate(templatesJavaClass);
template.save(function(error){
console.log("successfully saved template");
if (error){
console.log(error);
}
});
:
はこれを試してみてください? –
あなたが他のコレクションへの参照を使用するときに理解しようとしていることthats私は 'templateSchema'にクライアントからのIDを送信する必要があります – hussain
あなたは_idを他のフィールドと同様にcreatedbyフィールドに保存する必要があります。ユーザー_idはありますか? –