Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/452.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MongoDB中通过Node.js的复杂查询过滤器_Javascript_Node.js_Mongodb_Nosql - Fatal编程技术网

Javascript MongoDB中通过Node.js的复杂查询过滤器

Javascript MongoDB中通过Node.js的复杂查询过滤器,javascript,node.js,mongodb,nosql,Javascript,Node.js,Mongodb,Nosql,在MongoDB中,有没有一种方法可以从NodeJS查询多个字段并对每个字段应用过滤器 例如: 设想一个包含用户配置文件(姓名、姓氏、尼克、年龄等)的集合。我可以这样问吗: db.collection("users").find({}).filter([ {field: 'name', operator: 'startswith', value: 'Ji'}, {field: 'surname', operator: 'contains', value: 'om'}, {

在MongoDB中,有没有一种方法可以从NodeJS查询多个字段并对每个字段应用过滤器

例如:

设想一个包含用户配置文件(姓名、姓氏、尼克、年龄等)的集合。我可以这样问吗:

db.collection("users").find({}).filter([
    {field: 'name', operator: 'startswith', value: 'Ji'},
    {field: 'surname', operator: 'contains', value: 'om'},
    {field: 'nick', operator: 'endswith', value: 'mmy'}
]); //Searching for Jimmy Thomson (alias jimmy)
编辑:


我忘了说我不是在找正则表达式。

你看过正则表达式吗@AndreasHultgren对不起,我忘了说我不是在找Regex怎么办?您可以使用javascript“手工”筛选表达式,以便mongodb只返回与您的筛选选项匹配的文档。事实上,看起来您正在寻找正则表达式,因为它在mongodb中受支持,而您的请求不起作用。而且,由于要执行的操作类型不同,它可能需要搜索所有文档。可能需要一个新问题来更好地解释这个问题。这关系到文档的总数以及您的用户是否可以接受性能。每年1300-2600份文件(5-10份文件*5天*52周),这些数据加起来并不多。