Created
March 12, 2014 17:30
-
-
Save bitdewy/9511929 to your computer and use it in GitHub Desktop.
xocean schema
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// !!! sketch, no constraint | |
var mongoose = require('mongoose'), | |
Schema = mongoose.Schema; | |
var WorkItemSchema = new Schema({ | |
description: String, | |
createdAt: Date, | |
lastModified: Date, | |
status: Number | |
}); | |
// no comment on comment so far | |
var CommentSchema = new Schema({ | |
username: String, | |
content: String | |
}); | |
var TagSchema = new Schema({ | |
name: String, | |
description: String | |
}) | |
var ArticleSchema = new Schema({ | |
title: String, | |
body: String, | |
createdAt: Date, | |
lastModified: Date, | |
comments: [CommentSchema], | |
tags: [TagSchema], | |
status: Number | |
}); | |
var UserSchema = new Schema({ | |
name: String, | |
email: String, | |
role: { | |
type: String, | |
default: 'user' | |
}, | |
hashedPassword: String, | |
provider: String, | |
salt: String, | |
facebook: {}, | |
twitter: {}, | |
github: {}, | |
google: {}, | |
group: Number, | |
employeeID: String, | |
works: [WorkItemSchema], | |
articles: [ArticleSchema] | |
}); |
@bitdewy
那还是单独的吧,不过还是得加个字段区分下上周还是下周吧
不是那么简单的原则。。 其实我觉得设计的时候需要各种权衡,最重要的是要跟业务结合,有过一些经验,设计的时候就可以避免走一些弯路。
可以去参考下其它开源项目的源码,很多的。
那个数据库设计的三泛式其实在这里不是特别适合。
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
@ijse 懂了~ 原则就是能在一个 collection 里就尽量在一个 collection 里, 文档型想怎么嵌套怎么嵌套, 随意度有点高啊~
gist 是没有 notification ??!!! (╯‵□′)╯︵┻━┻