-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMongoModels.js
More file actions
56 lines (50 loc) · 1.05 KB
/
Copy pathMongoModels.js
File metadata and controls
56 lines (50 loc) · 1.05 KB
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
const mongoose = require('mongoose');
const validEntrySchema = mongoose.Schema({
Url: String,
Title: String,
Description: String,
Words: [String],
Clicks: Number,
FoundAt: Date,
Length: Number,
});
const invalidEntrySchema = mongoose.Schema({
Url: String,
Title: String,
Clicks: Number
});
const urlSchema = mongoose.Schema({
Url: String,
FoundAt: Date,
});
const indexSchema = mongoose.Schema({
term: {
type: String,
index: true,
unique: true
},
df: Number,
postings: [{
docId: mongoose.ObjectId,
tf: Number
}]
});
const hostSchema = mongoose.Schema({
host: {
type: String,
index: true,
unique: true
},
robotsTxt: String,
robotsCheckedAt: Date,
crawlDelay: Number,
fetchedAt: Date,
nextAllowedAt: Date,
});
module.exports = {
Entry: mongoose.model('entries', validEntrySchema),
InvalidEntry: mongoose.model('invalidEntries', invalidEntrySchema),
Url: mongoose.model('urls', urlSchema),
IndexTerm: mongoose.model('index', indexSchema),
Host: mongoose.model('hosts', hostSchema),
};