Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/docker/10.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
Node.js express restify mongoose查询多属性_Node.js_Mongodb_Angular_Express_Mongoose - Fatal编程技术网

Node.js express restify mongoose查询多属性

Node.js express restify mongoose查询多属性,node.js,mongodb,angular,express,mongoose,Node.js,Mongodb,Angular,Express,Mongoose,问题: let regex = '{"title":{"$regex":"(' + text + ')"}}'; let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}'; 我试图从angular2向我的nodejs服务器发送一个查询,使用该查询将搜索多个属性 我拥有的(有效): let regex = '{"title":{"$regex":"(' + text +

问题:

let regex = '{"title":{"$regex":"(' + text + ')"}}';
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
我试图从angular2向我的nodejs服务器发送一个查询,使用该查询将搜索多个属性

我拥有的(有效):

let regex = '{"title":{"$regex":"(' + text + ')"}}';
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
我尝试/想要的(无效):

let regex = '{"title":{"$regex":"(' + text + ')"}}';
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
在中,没有2+属性的示例

问题:

let regex = '{"title":{"$regex":"(' + text + ')"}}';
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
这甚至可以通过一个查询实现吗?如果不是,我如何才能最好地解决这个问题

编辑: 如果没有该库,您也会对解决方案感到满意,但如果它仍然包含一个查询,那么这将是最好的

2。编辑: 下面是我调用以获取数据的完整函数(不起作用的示例):


尝试使用ES6模板文本生成字符串


您可以使用MongoDB的标准查询条件/条件语法

根据您的要求使用
$和
$或
运算符:

{ $and: [{"title": {"$regex": "(' + text + ')"}}, {"content": {"$regex": "(' + text + ')"}}] }

{ $or: [{"title": {"$regex": "(' + text + ')"}}, {"content": {"$regex": "(' + text + ')"}}] }

它如何回答/解决OP提出的问题?第二个问题会发生什么?没有数据?错误?错误,无效查询:/n您传递的正则表达式字符串是什么?我可以将其放入URL中吗?见我的2。编辑以澄清问题我不明白您将此放在URL中是什么意思我认为您在查询中(在填充和查询参数之间)缺少了一个和。它应该是
返回this.http.get(`${this.apirl}/post?populate=${JSON.stringify(populate)&${query}`,{headers}).map((response:response=>response.JSON())我通过使用
JSON
JSON.stringify(object)
解决了这个问题。