2015-12-02 96 views
0

我有一個「日誌」表有一個指向用戶表中的用戶的指針。我正在嘗試「查找所有用戶在過去N天內沒有日誌條目」。但是,以下查詢似乎返回全部用戶而不是預期值。如何在Parse.com查詢中找到所有用戶*不是*?

這裏是我當前的查詢:

var logsFrom = function(start, end) { 
    // Query for all logs within the last 24 hours 
    var Log = Parse.Object.extend("Log"); 
    var query = new Parse.Query(Log); 

    query.greaterThanOrEqualTo("createdAt", start); 
    query.lessThan("createdAt", end); 
    return query; 
}; 
var nonLogsFound = function(request, response) { 
    Parse.Cloud.useMasterKey(); 

    // Midnight of the current day 
    var end = new Date(); 
    end.setHours(0, 0, 0, 0); 

    // Midnight of the previous day 
    var time = (5 * 24 * 3600 * 1000); 
    var start = new Date(end.getTime() - (time)); 

    var count = 0; 
    var logQuery = logsFrom(start, end); 
    var userQuery = new Parse.Query(Parse.User); 
    userQuery.doesNotMatchKeyInQuery("objectId", "user", logQuery); 
    userQuery.find({ 
     success: function(users) { 
      // This returns *all* users. 
      count = users.length; 
      response.success("Query complete! (" + count + " results)"); 
     }, 
     error: function(error) { 
      console.error(error); 
      response.error(error); 
     } 
    }); 
}; 

感謝

+0

是'log'類的'用戶'屬性指針還是字符串? – hhanesand

+0

@hhanesand一個指針 – gregory

回答

0

您的查詢匹配對字符串的指針( '用戶')( 'OBJECTID')。這就是它返回所有結果的原因。

也許改變

userQuery.doesNotMatchKeyInQuery("objectId", "user", logQuery); 

userQuery.doesNotMatchKeyInQuery("objectId", "user.objectId", logQuery); 

我不知道它是否支持keypaths雖然沒有測試。

+0

這不起作用 –

相關問題