簡體   English   中英

在TaffyDB中將OR條件與“ lte”和“ gte”一起使用

[英]Using an OR condition in TaffyDB with “lte” and “gte”

我在taffy DB中有看起來像這樣的數據。 數據點可以為空白:

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

如果我需要名字為“ John”或“ Jane”的所有行,年齡在40到60之間,則查詢為:

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

現在,如果我加上年齡也可以小於20歲的條件,我將無法為此編寫查詢。

我已經嘗試過了,但是沒有用:

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

任何幫助將不勝感激。

它有助於打破這種分解成一個與年齡有關的or語句和的名稱和年齡and聲明。

您需要Name條件 Age條件(包含其自己的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}}])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM