2017-10-10 64 views
0

我想通過AngularJS中的HTTP API從MongoDB查詢數據。我的代碼是這樣的:如何使用「like」通過HTTP API查詢MongoDB?

$http.get('api/data', {user: user1}); 

我如何我可以改變它,這樣是%USER%的搜索像SQL LIKE操作?這兩行不起作用:

$http.get('api/data', {user: /user1/}); 
$http.get('api/data', {user: {'$regex': 'user1'}}); 

回答

0

它不取決於您的web服務調用。你已經發送正則表達式。 您需要在服務器上使用它,同時在mongodb中查找記錄。

MongoDB中有一個內置的正則表達式搜索: https://docs.mongodb.com/manual/reference/operator/query/regex/

這應該爲你工作:

db.users.find({ user: { $regex: your_regex_here } }) 

結帳MongoDB的文檔(從上面的鏈接)以獲得更多選項。

+0

如果我在Angular中使用您的行,我不會得到任何結果。如果我在PowerShell中使用它,它會起作用。 –

+0

它不是有角度的js代碼。它是爲了你的服務器。 Angular js不會在mongodb上觸發請求。它會觸發'$ http.get'來調用服務器上的代碼。 –

+0

感謝您的幫助。我將服務器端(node.js)的代碼從$ search更改爲$ regex。現在它可以工作。 –