2015-01-15 117 views
0

我有我的服務器在nodejs和客戶端在angularjs,mongodb(mongoose)作爲數據庫。我希望我的客戶能夠使中放置了像固定幾個領域達到一定的數值​​都正常consitions搜索查詢,包含在幾個領域等的搜索字符串在mongodb中客戶端和服務器之間的搜索API

查詢可以

(value of field A can be 'x' or 'y') and 
(value of field B can range between dates P and Q) and 
(string s contained in fields C or D or E) few more 

是否有任何npm插件或標準化我可以遵循以豐富我的服務器端API,並且還可以直接放置表達式,同時查詢與多個查詢(有很多代碼)的地圖縮減查詢。

回答

1

是的,有幾個。我只知道那些與Mongoose一起工作的人,所以如果你使用另一個驅動程序,你可能需要修改它們。

每個這些你需要確定哪些過濾本地和哪些讓服務器處理它。你過濾的地方應該主要取決於你有多少數據。就個人而言,爲我的最大集合放棄本地過濾更爲合理,並且只需依靠MongoDB來處理工作負載。

angoose

連接貓鼬和角度和更

原動機Angoose項目是雙 模型聲明(服務器和客戶端),如果我們正在建立一個豐富的 做掉基於模型的SPA應用程序,使用現代Javascript框架,如 Angular和node.js.對於使用Javascript的前端和後端, Angoose允許服務器端模型和服務在客戶端用於 ,就好像它們駐留在客戶端一樣。

Angoose取決於以下框架,並假設你有基本的 familarities與他們:

  • 貓鼬
  • 表達
  • 角(可選,用於無棱角的應用程序,jQuery是必需的)

Mongoose Api Query

Mongoose插件接受一組URL參數並構造查詢以在搜索API中使用。此外,最糟糕的項目名稱。

如果你用貓鼬,以幫助服務的API調用的結果,可能被用來處理呼叫像 :

/monsters?color=purple&eats_humans=true

貓鼬-API查詢處理 一些無用功的爲您服務。傳入一個香草對象(例如 req.query),根據您的Mongoose模式將查詢條件轉換爲適當的 類型。例如,如果在模式中定義了 布爾值,我們會將eats_humans = true轉換爲 布爾型用於搜索。

它還增加了大量的其他搜索運算符,比如,大於,不等於,近(對於地質索引),in和all中的其他搜索運算符,如小於, 。你可以在 找到下面的完整列表。

在搜索字符串時,默認情況下它會執行部分不區分大小寫的 匹配。 (這是不是在MongoDB的默認值。)通過/貓鼬/節點之間快速REST接口Angular.js

創建,讀取,更新容易

Angular Bridge

鏈接模式,通過AngularJS刪除MongoDB集合。

它使用:

  • 貓鼬訪問到MongoDB的
  • 表達對路由
  • AngularJS(與$資源法)

相關問題