-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathdatabase_schema.pl
64 lines (60 loc) · 1.71 KB
/
database_schema.pl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
show dbs;
use clubcoord;
db.createCollection("clubs", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "description", "coordinator", "events", "email", "members", "creationDate"],
properties: {
name: { bsonType: "string" },
description: { bsonType: "string" },
coordinator: { bsonType: "string" },
events: {
bsonType: "array",
items: { bsonType: "string" }
},
email: { bsonType: "string" },
members: {
bsonType: "array",
items: { bsonType: "string" }
},
creationDate: { bsonType: "string" }
}
}
}
})
db.createCollection("events", {
validator: {
$jsonSchema: {
bsonType: "object",
required: ["name", "description", "domain", "start", "end", "venue", "coordinator", "status", "registrationDeadline", "club", "participants", "creationDate"],
properties: {
name: { bsonType: "string" },
description: { bsonType: "string" },
domain: { bsonType: "string" },
start: { bsonType: "string" },
end: { bsonType: "string" },
venue: { bsonType: "string" },
coordinator: { bsonType: "string" },
status: { bsonType: "string" },
registrationDeadline: { bsonType: "string" },
club: { bsonType: "string" },
participants: {
bsonType: "array",
items: { bsonType: "string" }
},
creationDate: { bsonType: "string" }
}
}
}
})
db.users.insertOne({
name: "Akanksha Singal",
email: "[email protected]",
level: "Student"
})
db.users.insertOne({
name: "Astronuts Club",
email: "[email protected]",
level: "Club Coordinator"
})