尝试在Mongo中建立索引,该索引要求键必须是唯一的,并且值必须是文本字段类型。
我创建索引:
db.collection.createIndex({id: 'text'}, {unique: true})`
我插入我的第一条记录:
db.collection.insert({id: '1'})
我插入第二个ID为1(整数)的记录,并期望出现错误(类似:“ id不能为整数!”)
db.collection.insert({id: 1})
如何确保在“ id”字段中仅允许使用字符串,并且在有人尝试插入整数时引发错误?
答案 0 :(得分:1)
确保插入正确数据类型的工具是SchemaValidation。
在您的特定情况下,它必须是这样的:
db.runCommand( {
collMod: "collection",
validator: { $jsonSchema: {
bsonType: "object",
required: [ "id" ],
properties: {
id: {
bsonType: "string",
description: "must be a string and is required"
}
}
} }
} )