MongoDB中的顺序ENUM

时间:2016-11-25 17:53:15

标签: mongodb mongoose

是否可以在MongoDB中创建枚举值的顺序列表,更具体地说是MongooseJS?

我的意思是,例如,存储iPhone模型如:

"model": {
    "type": "string",
    "enum": ["Original", "3g", "3gs", "4", "4s", "5", "5s", "6", "6s", "5SE", "7"]
}

或儿童服装尺寸:

"size": {
    "type": "string",
    "enum": ["3MO", "6MO", "9MO", "12MO", "18MO", "2T", "2", "3T"...]
}

然后使用$gt$lt之类的查询运算符来查询带有

的iPhone
"model": { "$gte": "3g" }

感谢。

2 个答案:

答案 0 :(得分:-1)

是的,你可以在mongoose中创建枚举。

请参阅此处的文档。它有详细的例子。

http://mongoosejs.com/docs/api.html#schema_string_SchemaString-enum

答案 1 :(得分:-1)

您不能将$lte$gte用于字符串,它仅适用于数字,但您仍然可以使用$in运算符进行查询

模式

"field": {
    "type": "string",
    "enum": ["a", "b", "c"]
}

查询

myModel.find({
    field: {
        $in: ['a', 'some other prop']
    }
})

这将找到与数组中的['a', 'some other prop']匹配的所有实例