2014-11-21 60 views
2

我有一個存儲在數據庫中的數據。下面是從DB一個文檔的例子:

{ 
    "year": 2012, 
    "indicator": 0 
} 

其他文件包含其他年 - 2013 2014等,並隨機的「指標」。現在我想選擇2012年至2014年範圍內有數據的所有文檔和一些指標。我正在使用blueprint sails.js api來傳遞搜索查詢。

我希望有一種方法可以傳遞兩個查詢並使Waterline選擇與一個(或兩個)查詢匹配的文檔。

所以這是我曾嘗試(剛剛年至今):

1.

{ 
     "year": {">=": 2012} 
     "year": {"<=": 2014} 
} 

這裏我只拿到了有2012年一年的文檔。

2.

{ 
     "year": {">=": 2012, "<=": 2014} 
} 

同1.

3.

"or": [{ 
    "year": {">=": 2012} 
    }, { 
    "year": {"<=": 2014} 
    }] 

同1.

4.

"and": [{ 
    "year": {">=": 2012} 
    }, { 
    "year": {"<=": 2014} 
    }] 

不返回任何文檔。

問題是:如何在waterlineORM的某個範圍內獲取文檔?

回答

1

我有同樣的問題....我希望有這樣的解決方案......但我最終使用的地方。

stuff.find({year:{"<":2014}}).where({year:{">":2012}})

0

我有同樣的問題,我認爲找到解決方案。

查詢的工作方式與mysql'in queries'類似。 數組中的每個元素都被視爲'或'。

Model.find({ 
    name : ['Walter', 'Skyler'] 
}); 

Check this! Waterline Query