微信小程序 云数据库 Collection/Query .orderBy 用法

Collection.orderBy / Query.orderBy

指定查询排序条件

方法签名如下:

function orderBy(fieldName: string, order: string): Collection | Query

方法接受一个必填字符串参数fieldName用于定义需要排序的字段,一个字符串参数order定义排序顺序。order只能取ascdesc

如果需要对嵌套字段排序,需要用 “点表示法” 连接嵌套字段,比如style.color表示字段style里的嵌套字段color

同时也支持按多个字段排序,多次调用orderBy即可,多字段排序时的顺序会按照orderBy调用顺序先后对多个字段排序

示例代码:

  • 一个字段排序:按进度排升序取待办事项
const db = wx.cloud.database()
db.collection('todos').orderBy('progress', 'asc')
  .get()
  .then(console.log)
  .catch(console.error)
  • 多个字段排序:
    先按progress排降序(progress越大越靠前)、再按description排升序(字母序越前越靠前)取待办事项:
const db = wx.cloud.database()
db.collection('todos')
  .orderBy('progress', 'desc')
  .orderBy('description', 'asc')
  .get()
  .then(console.log)
  .catch(console.error)

原文:微信官方文档 · 小程序 -> 云开发 -> 数据库 -> Collection.orderBy / Query.orderBy

### 集成微信开发者云数据库至Android Studio #### 准备工作 为了在 Android 应用程序中集成微信开发者云数据库,需先完成必要的准备工作。这包括注册成为微信开放平台的开发者并创建应用以获取 `AppID` 和其他必要凭证[^1]。 #### 添加依赖项 确保项目的 build.gradle 文件已配置支持远程仓库以及添加了微信 SDK 的 Maven 仓库地址: ```gradle allprojects { repositories { mavenCentral() maven { url 'https://maven.wechat.com' } } } ``` 接着,在模块级别的 build.gradle 文件里加入如下依赖声明来引入最新版本的 WeChat SDK 及其关联组件: ```gradle dependencies { implementation 'com.tencent.mm.opensdk:wechat-sdk-android-with-mta:+' // 如果需要使用云开发功能,则还需额外导入此包 implementation 'com.tencent.wxcloudrun:wxcloudrun-database:+' } ``` #### 初始化SDK 在应用程序启动时初始化微信 OpenAPI 实例,并传入从微信公众平台上获得的应用 ID: ```java public class MyApplication extends Application { @Override public void onCreate() { super.onCreate(); IWXAPI api = WXAPIFactory.createWXAPI(this, "YOUR_APP_ID", true); api.registerApp("YOUR_APP_ID"); } } ``` #### 连接云端数据库 要操作云数据库中的数据表,可以利用官方提供的接口来进行增删改查等动作。下面是一个简单的例子展示了怎样查询特定集合内的文档记录: ```java // 假设已经获得了用户的登录态 wxLoginResult String openid = wxLoginResult.getOpenId(); // 获取默认环境下的 database 对象实例 Database db = new Database(openid); // 定义查询条件 (这里假设有一个名为 users 的 collection) DocumentQuery query = db.collection("users").where(new HashMap<String,Object>() {{ put("age", DocumentQuery.greaterThan(20)); }}).orderBy("name","asc"); // 执行异步请求并将结果回调处理 query.get().addOnCompleteListener(task -> { if (!task.isSuccessful()) { Log.w(TAG,"Error getting documents.", task.getException()); return; } List<DocumentSnapshot> documentSnapshots = task.getResult().getDocuments(); for (DocumentSnapshot doc : documentSnapshots){ User user = doc.toObject(User.class); System.out.println(user.getName()); } }); ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值