[英]query in google datastore as $elemMatch in mongo
我想過濾滿足所有條件的數組中的元素。
就像我有一個數組
測試:[{“ organizationName”:“ strge”,“ familyName”:“ raju”},{“ organizationName”:“ sand”,“ familyName”:“ sand”}]
我需要查詢來過濾同一元素中的所有條件的查詢。我發現它是在mongo中使用$ elemMatch完成的,但未在Google數據存儲中找到類似的查詢。
您可以將Cloud Datastore中數組值的相等過濾器視為CONTAINS
過濾器。
因此,如果您有一個具有members
屬性的GROUP
實體:
members: [
{ firstName: 'Alice', lastName: 'Smith' }
{ firstName: 'Bob' , lastName: 'Miller' }
]
您可以運行:
SELECT * FROM Group WHERE
members.firstName = 'Alice'
AND members.lastName = 'Smith'
AND members.firstName = 'Bob'
AND members.lastName = 'Miller'
它將返回以上結果。
但是,此查詢不會檢查firstName
和lastName
值是否出現在相同的member
值中。 因此,此查詢還將返回如下所示的Group
實體:
members: [
{ firstName: 'Alice', lastName: 'Jones' }
{ firstName: 'Bob' , lastName: 'Jones' }
{ firstName: 'Chris', lastName: 'Miller' }
{ firstName: 'Denise', lastName: 'Smith' }
]
為避免這種情況,您必須先運行查詢,然后再進行客戶端過濾。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.