Хранение доменных имен в MongoDB - PullRequest
0 голосов
/ 17 декабря 2018

Я экспериментирую с MongoDB и хотел бы узнать мнение о наилучшем способе хранения доменных имен в коллекции domain и у меня есть несколько вопросов:

  • Доменные имена будут уникальными.Имеет ли смысл использовать все доменное имя в качестве ключа _id?Я не хочу использовать пользовательский идентификатор, так как я прочитал, что есть много плюсов, чтобы просто сохранить ObjectId в качестве типа по умолчанию.
  • Или имя домена должно храниться в виде двух отдельных полей?Хранение домена как отдельных частей (т. Е. Google.com становится {sld: "google", tld: "com"}. Затем я бы добавил составной индекс {tld: 1, sld: 1}. Это дает преимущество, заключающееся в том, что запросы могут находить домены в домене верхнего уровня. Это кажется более гибкимза счет двух полей вместо одного.

Домен, хранящийся в двух полях:

db.createCollection("domains",{
    validator: {
        $jsonSchema: {
            properties: {
                sld: {
                    bsonType: "string",
                    title: "Second Level Domain"
                },
                tld: {
                    bsonType: "string",
                    title: "Top Level Domain",
                },
            },
            required: [
                "sld",
                "tld"
            ]
        }
    },
    validationLevel: "strict",
    validationAction: "error"
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...