【发布时间】:2017-06-04 20:54:25
【问题描述】:
问题:
我正在尝试使用 express-restify-mongoose 从 angular2 向我的 nodejs 服务器发送一个查询,该查询将搜索超过 1 个属性。
我所拥有的(工作):
let regex = '{"title":{"$regex":"(' + text + ')"}}';
我尝试过/想要的(不起作用):
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
在documentation 中没有 2+ 属性的示例。
问题:
这甚至可以通过单个查询来实现吗?如果不是,我怎么能最好地解决这个问题?
编辑: 如果没有该库,也会对解决方案感到满意,但最好还是涉及单个查询。
2。编辑: 这是我调用来获取数据的完整函数(不是工作示例):
getPostsQuery(text: string){
let query = '';
let limit = 25;
let headers = new Headers();
let authHeaders = this.authService.getAuthHeader();
headers.append(authHeaders.name, authHeaders.value);
let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}';
let populate = [
{path: "tags"},
{path: "creator"}
];
query += `&limit=${limit}&query=${regex}`;
return this.http.get(`${this.apiUrl}/post?populate=${JSON.stringify(populate)}${query}`, {headers})
.map((response: Response) => response.json());
}
【问题讨论】:
-
第二个查询会发生什么?没有数据?错误?
-
错误,无效查询:/
标签: node.js mongodb angular express mongoose