您的位置:MYSQL中文网 > sdk 数据 SDK数据库 Command·查询·数组操作符

sdk 数据 SDK数据库 Command·查询·数组操作符

2023-06-14 09:30

sdk 数据 SDK数据库 Command·查询·数组操作符

sdk 数据

SDK数据是指软件开发工具包(Software Development Kit)中的数据。它是一种用于开发应用程序的软件工具包,可以帮助开发人员快速创建和部署应用程序。SDK数据包含了一系列的API、文档、代码样例、工具和其他资源,这些资源都能够帮助开发人员快速实现特定的功能。

SDK数据有助于减少开发时间,并且能够帮助开发人员在有限的时间内实现最佳性能。使用SDK数据,开发人员不需要重新创建所有代码,而是直接使用SDK中的API来实现特定的功能。此外,SDK还包含一些文档和代码样例,这些文档和代码样例可以帮助开发人员快速理解如何使用SDK中的API来实现特定的功能。

// 使用 SDK 数据来创建一个应用
var app = new SDK.Application(); 
app.init(); 
app.run(); 

SDK数据库 Command·查询·数组操作符

Command.all(values: any[]): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

数组查询操作符。用于数组字段的查询筛选条件,要求数组字段中包含给定数组的所有元素。

参数

values: any[]

返回值

Command

示例代码 1:普通数组

找出 tags 数组字段同时包含 cloud 和 database 的记录

const _ = db.command
db.collection("todos").where({
  tags: _.all(["cloud", "database"])
})
.get({
  success: console.log,
  fail: console.error
})

示例代码 2:对象数组

如果数组元素是对象,则可以用 _.elemMatch 匹配对象的部分字段

假设有字段 places 定义如下:

{
  "type": string
  "area": number
  "age": number
}

找出数组字段中至少同时包含一个满足 “area 大于 100 且 age 小于 2” 的元素和一个满足 “type 为 mall 且 age 大于 5” 的元素

const _ = db.command
db.collection("todos").where({
  places: _.all([
    _.elemMatch({
      area: _.gt(100),
      age: _.lt(2),
    }),
    _.elemMatch({
      name: "mall",
      age: _.gt(5),
    }),
  ]),
})
.get({
  success: console.log,
  fail: console.error,
})




Command.elemMatch(condition: Object|Command): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

用于数组字段的查询筛选条件,要求数组中包含至少一个满足 elemMatch 给定的所有条件的元素

参数

condition: Object|Command

匹配条件

返回值

Command

示例代码:数组是对象数组的情况

假设集合示例数据如下:

{
  "_id": "a0",
  "city": "x0",
  "places": [{
    "type": "garden",
    "area": 300,
    "age": 1
  }, {
    "type": "theatre",
    "area": 50,
    "age": 15
  }]
}

找出 places 数组字段中至少同时包含一个满足 “area 大于 100 且 age 小于 2” 的元素

const _ = db.command
db.collection("todos").where({
  places: _.elemMatch({
    area: _.gt(100),
    age: _.lt(2),
  })
})
.get()

注意*:如果不使用 elemMatch 而直接如下指定条件,则表示的是 places 数组字段中至少有一个元素的 area 字段大于 100 且 places 数组字段中至少有一个元素的 age 字段小于 2:

const _ = db.command
db.collection("todos").where({
  places: {
    area: _.gt(100),
    age: _.lt(2),
  }
})
.get()

示例代码:数组元素都是普通数据类型的情况

假设集合示例数据如下:

{
  "_id": "a0",
  "scores": [60, 80, 90]
}

找出 scores 数组字段中至少同时包含一个满足 “大于 80 且小于 100” 的元素

const _ = db.command
db.collection("todos").where({
  places: _.elemMatch(_.gt(80).lt(100))
})
.get()

Command.size(value: string): Command

支持端:小程序 2.8.3, 云函数 1.2.1, Web

更新操作符,用于数组字段的查询筛选条件,要求数组长度为给定值

参数

value: string

返回值

Command

示例

找出 tags 数组字段长度为 2 的所有记录

const _ = db.command
db.collection("todos").where({
  places: _.size(2)
})
.get({
  success: console.log,
  fail: console.error,
})


阅读全文
以上是MYSQL中文网为你收集整理的sdk 数据 SDK数据库 Command·查询·数组操作符全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
© 2024 MYSQL中文网 mysqlcn.com 版权所有 联系我们
桂ICP备12005667号-29 Powered by CMS