JOE
2018-10-29 ea2e7e14933cfc6ef9934feef89cf2c4c5c40a98
commit | author | age
e3000e 1 const mongoose = require('mongoose');
J 2 const Schema = mongoose.Schema;
3 const GeoJSON = require('mongoose-geojson-schema');
4
5 const sub_segment = new Schema({
6    // taxonomy_id: {type: mongoose.Schema.Types.ObjectId, ref: 'taxonomy'},
7     extraction: Boolean,
8     criteria_order: Number,
9     operator: String
10 });
11
12 const sub_location = new Schema({
13     type: {type: String, required: true},
14     coordinates: [Number]
15 });
16
17 const sub_stats = new Schema({
18     statsAt: { type: Date, default: Date.now },
19     location: [{
20         // taxonomy_id: {type: mongoose.Schema.Types.ObjectId, ref: 'taxonomy'}, 
21         demographic:[{
22             demographic_filter: String, 
23             users: Number
24         }]
25     }]
26 });
27
28 const sub_trend = new Schema({
29     type: {type: String, required: true},
30     coordinates: [Number]
31 });
32
33 const SegmentSchema = new Schema({
34    location_id: {type: String, required: true},
35     taxonomy_id: {type: String, required: true},
36    name:  {type: String, required: true},
37     coverage: mongoose.Schema.Types.Polygon,
38     cell_origin: mongoose.Schema.Types.Point,
39     radius: Number,
40     mcc: Number,
41     mnc: Number,
42     lac: Number,
43     cell_id: Number,
44     rnc_id: Number,
45     radio_type: String,
46     address: {
47         place_id:String, 
48         address_component:[{
49             type:String, value:String
50         }]
51     },
52     taxonomy_address: String,
53    verifiedAt: { type: Date, default: Date.now },
54    updatedAt: { type: Date, default: Date.now }
55 });
56
57 // Export the model
58 module.exports = mongoose.model('location', SegmentSchema);