2015-07-11 47 views
0

我的taffy數據庫中的數據看起來像這樣。數據點可以是空白:在TaffyDB中使用「lte」和「gte」的OR條件

{"first_name":"Sam", "last_name": "Andrew", "age":26 ... } 
{"first_name":"Jane", "last_name": "Doe", "age": 19 ... } 
{"first_name":"John", "last_name": "Deer", "age":51 ... } 
. 
. 
. 

,如果我需要的所有行,其中第一名稱是「約翰」或「簡」,年齡爲40和60之間,查詢將是:

{ 
    "name":["John","Jane"], 
    "age":{"lte":60,"gte":40} 
} 

現在,如果我添加年齡可能小於20的條件,那麼我無法爲此寫入查詢。

我都試過,但它不工作:

{ 
    "name":["John","Jane"], 
    "age":[{"lte":60,"gte":40},{"lte":20}] 
} 

任何幫助將不勝感激。

回答

1

它有助於打破下來到年齡相關or語句和的名稱和年齡and聲明。

你想要的名稱條件年齡條件(其中包含了or

標準and語句正常寫入(在僞代碼)爲:

db({name_condition, age_condition}) 

但可以也可寫成

db({name_condition},{age_condition}) 

需要使用第二個符號來完成要查找的複合條件。

因爲您的整個年齡條件實際上是一個簡單的or語句,所以您將它放入數組中。

[ 
    {age:{"lte":20}}, 
    {age:{"gte":40,"lte":60}} 
] 

要麼年齡小於20 年齡爲40和60。

之間的名稱條件是直截了當

{first_name:["John","Jane"]} 

把兩個物體一起成and這樣的陳述:

db({first_name:["John","Jane"]},[{age:{"lte":20}},{age:{"gte":40,"lte":60}}]) 
相關問題