【发布时间】:2015-04-13 12:52:14
【问题描述】:
我正在尝试 MongoDB,并且作为起点,我为聊天应用程序创建了一个模式,该模式在未来可能很容易扩展,所以我想知道从我在文档中看到的内容来看这是否正确。到目前为止,我有 3 个集合用户、房间、消息。我还需要执行一些查询,例如从特定房间获取所有消息、从特定用户获取所有消息等
用猫鼬设计:
var user = new mongoose.Schema({
username: { type: String, lowercase: true, unique: true },
email: { type: String, lowercase: true, unique: true },
password: String,
is_active: { type: Boolean, default: false },
});
var room = new mongoose.Schema({
name: { type: String, lowercase: true, unique: true },
topic: String,
users: [user],
messages: [message],
created_at: Date,
updated_at: { type: Date, default: Date.now },
});
var message = new mongoose.Schema({
room: room,
user: user,
message_line: String,
created_at: { type: Date, default: Date.now },
});
var User = mongoose.model('User', user);
var Room = mongoose.model('Room', room);
var Message = mongoose.model('Message', message);
【问题讨论】:
-
您好,因为这篇文章问了 6 年多,您对这种方法有疑问吗?对我来说看起来不错,希望您回答您的问题以分享经验:D
标签: javascript node.js mongodb mongoose