/
db.coffee
86 lines (76 loc) · 2.15 KB
/
db.coffee
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
dbName = require("./constants").dbName
mongoose = require "mongoose"
metaDB = mongoose.createConnection "/tmp/mongodb-27017.sock/#{dbName}"
exports.Corpus = metaDB.model "Corpus",
new mongoose.Schema(
name: String
type: String
), "corpora"
exports.IngestedCorpus = metaDB.model "IngestedCorpus",
new mongoose.Schema(
name: String
corpus: type: mongoose.Schema.ObjectId, ref: "Corpus"
dependsOn: type: mongoose.Schema.ObjectId, ref: "IngestedCorpus"
status: String
), "ingestedCorpora"
exports.Article = metaDB.model "Article",
new mongoose.Schema(
name: String
ingestedCorpus: type: mongoose.Schema.ObjectId, ref: "IngestedCorpus"
), "articles"
exports.Inferencer = metaDB.model "Inferencer",
new mongoose.Schema(
ingestedCorpus: type: mongoose.Schema.ObjectId, ref: "IngestedCorpus"
numTopics: Number
status: String
), "inferencers"
exports.TopicsInferred = metaDB.model "TopicsInferred",
new mongoose.Schema(
ingestedCorpus: type: mongoose.Schema.ObjectId, ref: "IngestedCorpus"
inferencer: type: mongoose.Schema.ObjectId, ref: "Inferencer"
status: String
), "topicsInferred"
exports.Topic = metaDB.model "Topic",
new mongoose.Schema(
inferencer: type: mongoose.Schema.ObjectId, ref: "Inferencer"
id: Number
name: String
hidden: Boolean
totalTokens: Number
words: [
word: String
weight: Number
count: Number
]
phrases: [
phrase: String
weight: Number
count: Number
]
), "topics"
exports.SaturationRecord = metaDB.model "SaturationRecord",
new mongoose.Schema(
topicsInferred:
type: mongoose.Schema.ObjectId
ref: "TopicsInferred"
index: true
article:
type: mongoose.Schema.ObjectId
ref: "Article"
index: true
topic:
type: mongoose.Schema.ObjectId
ref: "Topic"
index: true
proportion:
type: Number
index: true
), "saturationRecords"
exports.createTemporaryCollection = ->
name = "tempCollection#{Date.now()}"
metaDB.model "TempCollection",
new mongoose.Schema(
{}
strict: false
), name
exports.eval = metaDB.db.eval.bind metaDB.db