📜  基于字符串匹配的 mangoose 过滤器集合 (1)

📅  最后修改于: 2023-12-03 14:51:36.077000             🧑  作者: Mango

基于字符串匹配的 mongoose 过滤器集合

在使用 mongoose 进行数据查询时,可以通过字符串匹配的方式对数据进行过滤。这种方式能够让我们快速地进行一些基本的数据过滤,极大地提高了我们的开发效率。

以下是一些基于字符串匹配的 mongoose 过滤器集合。

等于(Equal)

查询特定项等于指定值的数据。

const filter = { key: 'value' };
Model.find(filter).exec((err, result) => {
  // ...
});
不等于(Not Equal)

查询特定项不等于指定值的数据。

const filter = { key: { $ne: 'value' } };
Model.find(filter).exec((err, result) => {
  // ...
});
大于(Greater Than)

查询特定项大于指定值的数据。

const filter = { key: { $gt: 'value' } };
Model.find(filter).exec((err, result) => {
  // ...
});
大于等于(Greater Than or Equal To)

查询特定项大于等于指定值的数据。

const filter = { key: { $gte: 'value' } };
Model.find(filter).exec((err, result) => {
  // ...
});
小于(Less Than)

查询特定项小于指定值的数据。

const filter = { key: { $lt: 'value' } };
Model.find(filter).exec((err, result) => {
  // ...
});
小于等于(Less Than or Equal To)

查询特定项小于等于指定值的数据。

const filter = { key: { $lte: 'value' } };
Model.find(filter).exec((err, result) => {
  // ...
});
包含(Contains)

查询特定项包含指定值的数据。

const filter = { key: { $regex: /value/i } };
Model.find(filter).exec((err, result) => {
  // ...
});
开头匹配(Starts With)

查询特定项以指定值开头的数据。

const filter = { key: { $regex: /^value/i } };
Model.find(filter).exec((err, result) => {
  // ...
});
结尾匹配(Ends With)

查询特定项以指定值结尾的数据。

const filter = { key: { $regex: /value$/i } };
Model.find(filter).exec((err, result) => {
  // ...
});
模糊匹配(Like)

查询特定项中包含指定值的数据。

const filter = { key: { $regex: '.*value.*' } };
Model.find(filter).exec((err, result) => {
  // ...
});

以上是一些常用的基于字符串匹配的 mongoose 过滤器集合,可以根据需求进行组合使用以获得更多的查询功能。