2017-01-20 10 views
0

問題を属性。急行-restify-マングースクエリの複数の

私は(作品)持っているもの:

let regex = '{"title":{"$regex":"(' + text + ')"}}'; 

私が試した何/希望を(動作しない)documentation

let regex = '{"title":{"$regex":"(' + text + ')"}, "content":{"$regex":"(' + text + ')"}}'; 

例がありません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()); 
} 
+0

2番目のクエリとどうなりますか?データなし?エラー? –

+0

エラー、無効なクエリ:/ – Anthony

答えて

1

あなたはMongoDBのクエリの標準条件/基準の構文を使用することができます。あなたの要件ごと

使用$andまたは$orオペレータ:

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

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

渡す正規表現の文字列は何ですか? –

+0

私はこれをURLに入れることができますか?私の2を参照してください。明確化のための編集 – Anthony

+0

申し訳ありませんが、あなたが何を意味するのか分かりません。* –