Geomongo db schema

MasterDB

База данных с метаинформацией о существующих сервисах и пользователях.

users

Коллекция с пользователями/администраторами сервисов и/или инстанса платформы.

{
    "first_name": {
        "type": "string"
    },
    "last_name": {
        "type": "string"
    },
	"required": [
    	"first_name",
    	"last_name"
  	]
}

services

Коллекция с метаинформацией существующих сервисов.

{
    "name": {
        "type": "string"
    },
    "config": {
        "type": "object",
        "properties": {
            "log_size": {
                "type": "integer"
            }
        },
		"required": [
    		"log_size"
  		]
    },
    "owner_id": {
        "type": "string"
    },
	"required": [
    	"config",
        "name",
        "owner_id"
  	]
}

log

Лог действий администраторов инстанса и сервисов.

{
    "user_id": {
        "type": "string"
    },
    "date": {
        "type": "Datetime"
    },
    "message": {
        "type": "string"
    },
    "service": {
        "type": "string"
    },
	"required": [
		"user_id",
    	"date",
		"message",
    	"service"
  	]
}

 

ServiceDb

БД с данными конкретного сервиса. Для одного сервиса нужна одна serviceDb.

log

Лог действий пользователей конкретного сервиса.

{
    "user_id": {
        "type": "string"
    },
    "date": {
        "type": "Datetime"
    },
    "message": {
        "type": "string"
    },
    "service": {
        "type": "string"
    },
	"required": [
		"user_id",
    	"date",
		"message",
    	"service"
  	]
}

 

points

Точки, добавленные пользователями сервиса.

{
	"name": {
		"type": "string"
	}
    "json": {
        "type": "object",
        "properties": {
            "import_source": {
                "type": "Url"
            },
            "version": {
                "type": "string"
            },
            "image_url": {
                "type": "Url"
            },
            "name": {
                "type": "string"
            },
            "source_url": {
                "type": "Url"
            }
			"date":{
				"type": "Datetime"
			}
			"bc":{
				"type": "boolean"
			}
        }
    },
    "channelId": {
       "type": "string"
    },
    "location": {
        "type": "object",
        "properties": {
            "coordinates": {
                "type": "array",
				"size": 2
                "items": {
					"type": "float"
				}
            }
        },
		"required": [
			"coordintes"
		]
    },
	"date":{
		"type": "Datetime"
	}
	"bc":{
		"type": "boolean"
	}
    "alt": {
        "type": "non negative float"
    },	
	"required": [
		"json"
		"channelId",
		"location"
		"date",
		"bc",
		"alt"
	]
}

 

channels

Каналы данного сервиса.

{
    "name": {
      "type": "string"
    },
	"json": {
		"type": "object",
		"properties": {
			"description": {
				"type": "string"
			},
			"url": {
					"type": "string"
			}
		}
    "owner_id": {
        "type": "string"
    },
	"required": [
		"name",
        "json",
        "owner_id"
	]
}

http://docs.mongodb.org/manual/reference/database-references/