当前位置: 首页>>代码示例>>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;未经允许,请勿转载。