猫鼬查询带有通配符的子句

Xianlin

我有一个猫鼬查询如下

Computer
    .find()
    .where('OS').equals('Windows')
    .exec(function(err, items) {

  });

它返回操作系统的所有computer记录Windows

现在,我想使用一个变量 osType来替换equals参数,以更加灵活。

*可以为osType变量提供通配符吗?我测试了它,但是它不起作用。

var osType = '*';

Computer
    .find()
    .where('OS').equals(osType)
    .exec(function(err, items) {

  });

或有什么替代方法可以做到这一点?

请不要删除该where子句,因为我希望将其用于osType=windows, linux ...等。

罗伯特克莱普

我认为您将不得不在以下两个语句之间切换:

// If you have a specific value you want to find:
Computer.find().where('OS').equals(osType).exec(...)

和:

// All documents that have a `OS` property:
Computer.find().where('OS').exists().exec(...)

您可以重写代码以适应以下情况:

var query = Computer.find().where('OS');
if (osType === '*') {
  query = query.exists();
} else {
  query = query.equals(osType);
}
query.exec(...);

另外,您可以Query#regex将两种查询类型合并为一种,但是我希望这会对性能产生影响。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在模型中带有列表的猫鼬查询

来自分类Dev

带有ObjectID引用的RESTful猫鼬

来自分类Dev

带有多个实例的猫鼬$ in数组

来自分类Dev

带有 LIKE 子句的查询在搜索字符串周围使用通配符返回所有行

来自分类Dev

如何在带有feathersjs的服务类中使用查询猫鼬

来自分类Dev

猫鼬查询带有特殊字符的正则表达式

来自分类Dev

猫鼬或查询

来自分类Dev

猫鼬:查询开头

来自分类Dev

重构猫鼬查询

来自分类Dev

猫鼬查询“或”

来自分类Dev

猫鼬嵌套查询

来自分类Dev

猫鼬子查询

来自分类Dev

猫鼬查询与哪里

来自分类Dev

猫鼬查询

来自分类Dev

我得到所有带有填充猫鼬的文档

来自分类Dev

猫鼬不返回带有findById的输出

来自分类常见问题

从猫鼬返回带有.populate()的某些字段

来自分类Dev

猫鼬重复键错误,并带有upsert

来自分类Dev

mongodb合并等效项(带有猫鼬)

来自分类Dev

如何使用带有动态键的猫鼬模型架构?

来自分类Dev

猫鼬获取带有值的日期数组

来自分类Dev

在猫鼬中创建带有{strict:false}的文档

来自分类Dev

猫鼬:Find()返回带有包含值的对象的文档

来自分类Dev

猫鼬使用带有函数find()的变量作为模型:

来自分类Dev

猫鼬使用带有函数find()的变量作为模型:

来自分类Dev

猫鼬使用带有函数find()的变量作为模型:

来自分类Dev

猫鼬使用带有函数find()的变量作为模型:

来自分类Dev

猫鼬重复键错误,并带有upsert

来自分类Dev

使用PATCH修改带有节点/猫鼬的多个条目?