写MongoDB:区分大小写的技巧(mongodb大小)

MongoDB 是一种 NoSQL 数据库, 能够非常好地满足 高度可伸缩 数据存储的要求。与关系型数据库不同, MongoDB 不区分大小写。无论文档标题,还是属性名称都看起来是相同的。但需要遵循一些小技巧去区分 MongoDB大小写。

首先,如果你希望在 MongoDB 中存储大小写敏感的信息, 你可以使用Regular Expressions解决 (RegExp) 来模糊匹配文档字段。下面是一个使用RegExp检索到文档标题以”MongoDB”开头的案例:

db.collection.find({Title:{$regex:/^MongoDB/}})

其次,可以通过使用 string_agg 内置函数聚合查询去区分 MongoDB 大小写。使用 string_agg 会将文档标题添加到 一个 list 中, 然后在 list 之中匹配所有以 “MongoDB” 开头的文档标题:

db.collection.aggregate([
{"$group"{
"_id":null,
"documents":
{$addToSet:"$title"}
}
},
{"$match":
{documents: {$regex:/^MongoDB/}}
}
])

最后, 你也可以使用 MongoDB 的 $meta 特殊变量来忽略大小写匹配特定的文档。该变量可以帮助你匹配 “MongoDB” 开头的文档标题:

db.collection.find({title:
{$regex:/^MongoDB/i,
$options:"$i"}
})

总之, 使用 MongoDB 能够满足用户高度可伸缩存储数据的需求, 同时也可以使用一些技巧来区分大小写, 比如使用 RegExp 以及 $Options 和 string_aggg 。


数据运维技术 » 写MongoDB:区分大小写的技巧(mongodb大小)