在MongoDB中存储域名

时间:2018-12-17 02:04:17

标签: mongodb mongoose mongodb-query mongoose-schema

我正在尝试使用MongoDB,并希望就将域名存储在domain集合中的最佳方法发表意见,并有一些疑问:

  • 域名将是唯一的。将整个域名用作_id键是否有意义?我不愿意使用自定义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"
})

0 个答案:

没有答案