本文整理汇总了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();
}
});
示例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);
}
});
示例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);
}
});
示例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);
}
});
示例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();
}
);
});