簡體   English   中英

解析仍然有效,但是如何通過“索引”進行查詢

[英]parse is still alive, but how to query by 'index'

我發現Buddy平台現在支持Parse,但是舊的Parse網站上的所有論壇/幫助文件都消失了...

我想做的是按行號/索引查詢表中的一行。

我現在執行此操作,但是對我來說獲取所有數據然后選擇該行似乎效率低下(盡管可以正常工作):

var thisRow = Parse.Object.extend(GlobTable);
var query= new Parse.Query(thisRow);
query.descending('updatedAt');
query.find({
  success: function(results) {

  var object = results[RowNumberThatINeed];
  //etc using object

@冉,謝謝! 不知何故,Parse將為每行存儲“ 1”:1、1、1、1。 但這可以保存所有其他數據。

var Object = Parse.Object.extend(LocTable);
var obj = new Object();

    obj.set("User", LocUser);
    obj.set("Happened", d);
    obj.set("Happy", b);
    obj.set("Learned",a);
    obj.set("ConnectedTo",c);
    obj.increment("rowIndex");
    obj.save({
success: function(obj) {

 updateDatabase();
 alert("Your data is saved");

},
error: function(obj, err) {
alert("Your data was not saved. Sorry..." + err);
}
});

您的解決方案將起作用,但是當表增長時,您將遇到很多性能問題。

我向您建議的是以下解決方案:

  1. 將另一個字段添加到類型為integer的GlobTable中。 此字段將是增量字段,並將存儲您的行索引(我們將此字段稱為rowIndex
  2. 每次將新對象保存到該表時,請確保使用以下命令遞增該字段:

 object.increment("rowIndex"); 

  1. 現在,您的查詢應如下所示:

 var thisRow = Parse.Object.extend(GlobTable); var query= new Parse.Query(thisRow); query.equalTo("rowIndex",RowNumberThatINeed); query.first().then(function(result){ // do something with the result },function(error){ // error handling }); 

如果您希望事件具有更好的性能,則可以在rowIndex上創建索引(在MongoDb中)。

在我的代碼段中,我根據最佳實踐使用Promises。

使用而找不到,因為此索引將始終有一個對象

暫無
暫無

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

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