通过猫鼬模式存储正则表达式
Store Regex via Mongoose Schema
我如何通过 Mongoose 模式存储正则表达式,然后由 mongoose 作为正则表达式查询?
//regexmodel.js
var mongoose = require('mongoose')
var RegexSchema = new mongoose.Schema({
regex: {
type: REGEXP //How do i get this to store regex
}
})
var Regex = mongoose.model('Regex', RegexSchema)
module.exports = Regex
//regexController.js
var regex= new Regex({
regex: /.*/
})
regex.save(function(err, alert) {
if (err) {
res.send({success: false, message: err.message})
} else {
res.send({success: true, message: "Created Regex"})
}
})
请记住,这都是伪代码,而不是我实际尝试的任何东西,但这样做的目标是能够使该值与任何东西匹配。我需要在数据库而不是查询端完成此操作,因为我知道您可以使用正则表达式查询猫鼬以进行匹配,但它不适合我的用例。
由于您的问题更多是理论性的,所以答案是是,您可以这样做。
您有以下选择:
- 您可以自己实现该类型,因为 mongoose supports custom types。
- 您可以简单地使用已经为您完成工作的已经开发的插件之一。例如 https://github.com/mongoosejs/mongoose-regexp。
我敢肯定,如果您搜索
gitHub
,您可能会找到不止一个
这些。
我如何通过 Mongoose 模式存储正则表达式,然后由 mongoose 作为正则表达式查询?
//regexmodel.js
var mongoose = require('mongoose')
var RegexSchema = new mongoose.Schema({
regex: {
type: REGEXP //How do i get this to store regex
}
})
var Regex = mongoose.model('Regex', RegexSchema)
module.exports = Regex
//regexController.js
var regex= new Regex({
regex: /.*/
})
regex.save(function(err, alert) {
if (err) {
res.send({success: false, message: err.message})
} else {
res.send({success: true, message: "Created Regex"})
}
})
请记住,这都是伪代码,而不是我实际尝试的任何东西,但这样做的目标是能够使该值与任何东西匹配。我需要在数据库而不是查询端完成此操作,因为我知道您可以使用正则表达式查询猫鼬以进行匹配,但它不适合我的用例。
由于您的问题更多是理论性的,所以答案是是,您可以这样做。
您有以下选择:
- 您可以自己实现该类型,因为 mongoose supports custom types。
- 您可以简单地使用已经为您完成工作的已经开发的插件之一。例如 https://github.com/mongoosejs/mongoose-regexp。
我敢肯定,如果您搜索
gitHub
,您可能会找到不止一个 这些。