當前位置: 首頁>>代碼示例>>TypeScript>>正文


TypeScript leancloud-storage.Query類代碼示例

本文整理匯總了TypeScript中leancloud-storage.Query的典型用法代碼示例。如果您正苦於以下問題:TypeScript Query類的具體用法?TypeScript Query怎麽用?TypeScript Query使用的例子?那麽, 這裏精選的類代碼示例或許可以為您提供幫助。


在下文中一共展示了Query類的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的TypeScript代碼示例。

示例1: it

 it('AVRole#queryRole', function (done) {
     try {
         this.timeout(5000);
         // 示例代碼-Start
         // 構建 AV.Role 的查詢
         let roleQuery = new AV.Query(AV.Role);
         roleQuery.get<AV.Role>(roleObjectId).then(role => {
             let relation = role.getUsers();// 獲取關係
             let query = relation.query();// 獲取查詢
             query.find<AV.User[]>().then(users => {
                 // users 就是擁有被查詢角色的所有用戶
                 chai.assert.equal(users.length, 0);
                 done();
             }, error => {
                 if (error) {
                     console.log(error);
                     throw error;
                 }
             });
         }, error => {
             if (error) throw 'error on get role';
         });
         // 示例代碼-End
     }
     catch (e) {
         chai.assert.isNull(e);
         done();
     }
 });
開發者ID:leancloud,項目名稱:TypeScript-Sample-Code,代碼行數:29,代碼來源:AVRole#queryRole.ts

示例2: it

  it('AVObject#get', function (done) {
    try {
      // 示例代碼-Start
      let query: AV.Query = new AV.Query('Todo');
      query.get<AV.Object>(testObjectId).then((todo) => {
        let priority: number = todo.get('priority');
        let location: string = todo.get('location');// 可以指定讀取的類型
        let title = todo.get('title');// 也可以不指定讀取的類型

        // 獲取三個特殊屬性
        let objectId: string = todo.id;
        var updatedAt: Date = todo.updatedAt;
        var createdAt: Date = todo.createdAt;

        chai.assert.isNotNull(objectId);

      }, (error) => {
        if (error) throw error;
      });
      // 示例代碼-End
      done();
    }
    catch (e) {
      chai.assert.isNull(e);
    }
  });
開發者ID:leancloud,項目名稱:TypeScript-Sample-Code,代碼行數:26,代碼來源:AVObject#get.ts

示例3: it

 it('AVRole#addUser', function (done) {
     try {
         // 示例代碼-Start
 // 構建 AV.Role 的查詢
 let roleQuery = new AV.Query(AV.Role);
 roleQuery.equalTo('name', randomRolename)
 roleQuery.find<AV.Role[]>().then(roles => {
     // 如果角色存在
     if (roles.length > 0) {
         let administratorRole = roles[0];
         roleQuery.equalTo('users', AV.User.current());
         roleQuery.find<AV.Object[]>().then(userForRole => {
             if (userForRole.length == 0) {//該角色存在,但是當前用戶未被賦予該角色
                 let userRoleRelation = administratorRole.getUsers();
                 userRoleRelation.add(AV.User.current());//為當前用戶賦予該角色
                 administratorRole.save<AV.Role>().then(result => {
                     chai.assert.isNotNull(result.id);
                     done();
                 }, error => {
                     if (error) throw 'error on add user';
                 });
             }
         }, error => {
             if (error) throw 'error on find role';
         });
     } else {
         // 該角色不存在,接下來創建該角色,並未當前用戶賦予該角色
         let administratorRole = new AV.Role(randomRolename);//新建角色
         let userRoleRelation = administratorRole.getUsers();
         userRoleRelation.add(AV.User.current());//為當前用戶賦予該角色
         administratorRole.save<AV.Role>().then(role => {
             chai.assert.isNotNull(role.id);
             done();
         }, error => {
             if (error) throw 'error save role and add user';
         });
     }
 }, error => {
     if (error) throw error;
 });
         // 示例代碼-End
     }
     catch (e) {
         chai.assert.isNull(e);
     }
 });
開發者ID:leancloud,項目名稱:TypeScript-Sample-Code,代碼行數:46,代碼來源:AVRole#addUser.ts

示例4: it

 it('AVRole#removeUser', function (done) {
     try {
         this.timeout(5000);
         // 示例代碼-Start
         // 構建 AV.Role 的查詢
         let roleQuery = new AV.Query(AV.Role);
         roleQuery.equalTo('name', randomRolename)
         roleQuery.find<AV.Role[]>().then(roles => {
             // 如果角色存在
             if (roles.length > 0) {
                 let administratorRole = roles[0];
                 roleQuery.equalTo('users', AV.User.current());
                 roleQuery.find<AV.Object[]>().then(userForRole => {
                     if (userForRole.length > 0) {//該角色存在,並且當前用戶已被賦予該角色
                         let userRoleRelation = administratorRole.getUsers();
                         // 為當前用戶剝奪該角色
                         userRoleRelation.remove(AV.User.current());
                         administratorRole.save<AV.Role>().then(result => {
                             chai.assert.isNotNull(result.id);
                             done();
                         }, error => {
                             if (error) throw 'error on add user';
                         });
                     } else {
                         // 該用戶並未被賦予該角色
                         done();
                     }
                 }, error => {
                     if (error) throw 'error on find role';
                 });
             }
         }, error => {
             if (error) throw error;
         });
         // 示例代碼-End
     }
     catch (e) {
         chai.assert.isNull(e);
     }
 });
開發者ID:leancloud,項目名稱:TypeScript-Sample-Code,代碼行數:40,代碼來源:AVRole#removeUser.ts

示例5: it

 it('AVQuery.doCloudQuery', function (done) {
   // 執行 CQL 語句實現新增一個 TodoFolder 對象
   AV.Query.doCloudQuery<any>('insert into TodoFolder(name, priority) values("工作", 2)').then(
     (data) => {
       let savedTodo: AV.Object = data.results[0];
       chai.assert.isNotNull(savedTodo.id);
       done();
     },
     (error) => {
       if (error) throw error;
       done();
     }
   );
 });
開發者ID:leancloud,項目名稱:TypeScript-Sample-Code,代碼行數:14,代碼來源:AVObject#save.ts


注:本文中的leancloud-storage.Query類示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。