Как уже отмечали другие, NoSQL - это общий термин, который относится к любой альтернативе традиционным реляционным базам данных, в которых данные размещаются в таблицах, а схема данных тщательно разрабатывается до создания базы данных.
Вы упомянули Mongoв вашем вопросе ... MongoDB без схемы .Что вы можете сделать, это создать свой собственный класс, который взаимодействует с экземпляром базы данных Mongo, и в этом классе вы определяете правила, которым должны соответствовать данные.
Если вы используете node.js, вы можете установить Mongoose , который позволяет вам взаимодействовать с базой данных в объектно-ориентированном стиле, предоставляя простое решение на основе схем для моделирования ваших данных.
Вот очень простой пример того, как вы бы определили схему чата в Mongoose, она не предназначена для того, чтобы быть полной схемой, это всего лишь начало, которое, мы надеемся, поможет вам в реализации того, что вам нужно:
var chatSchema = new Schema({
chatSession: { type: Number, index: true },
user: { type: String, default: 'anonymous' },
chatLineText: { type: String },
dateTime: { type: Date, default: Date.now },
});
var chatModel = mongoose.model('Chat', chatSchema);
var chatLine1 = new chatModel({
chatSession: '2133123',
user: 'someUserName',
chatLineText: 'Hello yuvi!'
});
chatLine1.save(function (err, chatLine) {
if (err) console.log(err);
else console.log('following chatLine was saved:', chatLine);