1.查询所有数据
var Language= Bmob.Object.extend("language");
var query = new Bmob.Query(Language);
// 查询所有数据
query.find({
success: function(results) {
console.log("总数:"+results.length);
},
error: function(error) {
console.log("查询出错");
}
});
注意:默认情况下,并不会返回所有数据,只是查出前10条数据。可以通过setLimit来设置返回数据条数。
2.查询第一条数据
var Language= Bmob.Object.extend("language");
var query = new Bmob.Query(Language);
// 查询所有数据
query.first({
success: function(object) {
console.log(object.name);
},
error: function(error) {
console.log("查询出错");
}
});
3.根据id查询
var Language= Bmob.Object.extend("language");
var query = new Bmob.Query(Language);
// 根据id获取对象
query.get('3453453453fdsdf', {
success: function(result) {
//do something
},
error: function(object, error) {
console.log("查询出错");
}
});
4.条件查询
query.equalTo(列名, 值); //等于
query.notEqualTo(列名, 值); //不等于
query.lessThan(列名, 值); //小于
query.lessThanOrEqualTo(列名, 值); //小于等于
query.greaterThan(列名, 值); //大于
query.greaterThanOrEqualTo(列名, 值); //大于等于
query.containedIn(列名, [值1, 值2, 值3,...]);//查询列值为数组中包含的值的集合
query.exists(列名); //查询存在指定的列属性的对象
query.doesNotExist(列名); //查询不存在指定的列属性的对象
query.select(列名); //查询指定列
query.startsWith(列名, 字符串); //查询指定列名的值以字符串开头的集合
query.ascending(列名称); //对指定列升序排序
query.descending(列名称); //对指定列降序排序
query.notEqualTo("name", "bmob");
query.greaterThan("num", 50); //查询name!=bmob且num>50的数据
var query1 = new Bmob.Query(Diary);
query1.greaterThan("isLike", 150);
var query2 = new Bmob.Query(Diary);
query2.lessThan("isLike", 5);
var mainQuery = Bmob.Query.or(query1, query2);
mainQuery.find({
success: function(results) {
// 返回 isLike > 150 or isLike < 5 的值
},
error: function(error) {
// 返回失败
}
});
复合查询
var Lanugage= Bmob.Object.extend("Lanugage");
var LanQuery = new Bmob.Query(Language);
LanQuery.greaterThan("count",5);
var Question = Bmob.Object.extend("Lanugage");
var questionQuery = new Bmob.Query(Question );
questionQuery.matchesKeyInQuery("name", "content", DiaryQuery); //查询language对象count>5的question对象集合
questionQuery.find({
success: function(results) {
// do something
}
});
注意:与之相对的是:doesNotMatchKeyInQuery获取属性不在子查询结果中的对象
5.分页查询
query.limit(10); //分页查询,每次查询10条
query.skip(10); //跳过前10 条再开始查询
6.查询指定字段
var Diary = Bmob.Object.extend("diary");
var query = new Bmob.Query(Diary);
// 只返回score和playerName字段值
query.select("title");
query.find().then(function(results) {
// 返回成功
});