ฉันได้พัฒนาไซต์ที่ใช้ node.js ซึ่งทำงานได้สำเร็จแล้วและใช้ mongodb เป็นที่เก็บข้อมูลแบ็กเอนด์โดยใช้พังพอน
ประเด็นก็คือ ฉันต้องการใช้การตั้งค่าที่สามารถกำหนดค่าได้บางอย่างสำหรับไซต์ (ซึ่งควรจะสามารถกำหนดค่าได้โดยใช้เพจ /backend/)
ดังนั้นฉันจึงต้องหาวิธีจัดเก็บการตั้งค่าทั้งหมดเหล่านั้นโดยใช้พังพอน แต่ฉันไม่สามารถมาพร้อมกับสคีมาที่เหมาะกับสิ่งนั้นได้
var mongoose = require('mongoose');
var SettingsSchema = new mongoose.Schema({
});
mongoose.model('Settimgs', SettingsSchema);
เป็นไปได้ไหมที่ฉันสามารถบังคับให้สคีมามีเอกสารเพียงฉบับเดียวได้ ดังนั้นฉันจึงสามารถใช้สคีมาข้างต้นกับเอกสารเพียงฉบับเดียวและใส่การตั้งค่าที่จำเป็นทั้งหมดไว้ที่นั่น
นอกเหนือจากที่ฉันมีแนวคิดอื่นที่คอลเลกชันการตั้งค่าสคีมาจะโฮสต์เอกสารหลายฉบับโดยแต่ละเอกสารมีชื่อส่วนที่ไม่ซ้ำกันดังต่อไปนี้ แต่เนื้อหาของสคีมาสำหรับแต่ละส่วนควรแตกต่างกัน แนวคิดหนึ่งที่ฉันมีคือเพียงจัดเก็บ json เฉพาะส่วนเป็นข้อมูลออบเจ็กต์โดยไม่ต้องให้รายละเอียดของโมเดล
var mongoose = require('mongoose');
var SettingsSchema = new mongoose.Schema({
name: { type: String, lowercase: true, trim: true, unique: true, required: true }, // the settings section name
...
JSON-Object or JSON-string here?
Is {data: Object} a possible usage?
});
mongoose.model('Settimgs', SettingsSchema);
แต่ถ้าฉันสามารถหาวิธีกำหนดโมเดลสำหรับส่วนต่างๆ ได้ มันจะดีกว่าและทดสอบได้มาก เช่น โมเดลสำหรับการตั้งค่าแบ็กเอนด์และอีกโมเดลสำหรับการตั้งค่าส่วนหน้า ซึ่งควรเก็บไว้ในคอลเลกชันการตั้งค่าทั้งหมด
ดังนั้นสิ่งที่ฉันอยากได้ก็คือ
var BackendSchema = new mongoose.Schema({
.. backend related settings here..
});
var FrontendSchema = new mongoose.Schema({
.. frontend related settings here..
});
และในที่สุดก็มีสคีมาการตั้งค่าหลักเพื่อครอบคลุมสิ่งเหล่านี้ร่วมกันและบันทึกเอกสารเหล่านั้นทั้งหมดไว้ในคอลเลกชันเดียว
ฉันค้นหามาระยะหนึ่งแล้วเพื่อดูว่ามีการอ่านที่น่าสนใจในหัวข้อนี้หรือไม่ แต่ไม่มีโชค - คงจะดีถ้าคุณสามารถโพสต์ได้ในกรณีที่คุณทราบ