Bmob(wechatApp)--查询数据

来源:互联网 发布:windows 10 iot 编辑:程序博客网 时间:2024/06/15 20:41

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(列名称);//对指定列降序排序


and查询,将2个查询条件写在一起即可,例如:

query.notEqualTo("name", "bmob");query.greaterThan("num", 50);//查询name!=bmob且num>50的数据


or查询

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) {  // 返回成功});


0 0
原创粉丝点击