2010-12-10 70 views
0

我從關係數據庫背景來到Appengine,並且正在考慮如何最好地完成此任務。appengine相當於一個「NOT IN」查詢

基本上我有一個對象表,並希望檢索一個用戶從未見過的對。

比如在MySQL中最直接的可能是像

SELECT * 
FROM object_pairs 
WHERE id NOT IN(
    SELECT object_pair_id 
    FROM user_object_pairs 
    WHERE user_id = :user_id 
) 

理想我也想能夠檢索從可能的結果隨機(或半隨機的)對。

任何建議表示讚賞。

謝謝

回答

1

有沒有簡單的方法來做到這一點。您建議的SQL查詢將由大多數SQL數據庫執行,首先構建ID的內存列表,然後對錶進行線性掃描,僅返回不在ID列表中的行。您可以在App Engine中執行相同操作:獲取用戶的「查看列表」,爲所有實體執行查詢,並跳過他以前看到的那些查詢。