本文整理匯總了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();
}
);
});