0

我如何通过 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"})
 }
})

请记住,这都是伪代码,而不是我实际尝试的任何东西,但这样做的目标是能够使该值与任何东西匹配。我需要在数据库而不是查询端完成此操作,因为我知道您可以使用正则表达式查询猫鼬以匹配,但它不适合我的用例。

4

1 回答 1

1

由于您的问题更多是理论上的,因此答案是肯定的,您可以这样做。

您拥有的选项:

  1. 您可以自己实现该类型,因为 mongoose支持自定义类型
  2. 您可以简单地使用已经为您完成工作的已开发插件之一。例如https://github.com/mongoosejs/mongoose-regexp。我敢肯定,如果您搜索gitHub,您可能会发现其中不止一个。
于 2019-06-20T07:24:35.707 回答