5.3.3.1. eq

cloud.database.command.eq(value)

查询筛选条件,表示字段等于某个值。eq 指令接受一个字面量 (literal)。

参数
  • value (number | boolean | string | object | array | Date) – 某个值

返回类型

Command

比较

比如筛选出所有自己发表的文章,除了用传对象的方式:

const myOpenID = 'xxx'
db.collection('articles').where({
  _openid: myOpenID
})

还可以用指令:

const _ = db.command
const myOpenID = 'xxx'
db.collection('articles').where({
  _openid: _.eq(openid)
})

注意 eq 指令比对象的方式有更大的灵活性,可以用于表示字段等于某个对象的情况,比如:

// 这种写法表示匹配 stat.publishYear == 2018 且 stat.language == 'zh-CN'
db.collection('articles').where({
  stat: {
    publishYear: 2018,
    language: 'zh-CN'
  }
})
// 这种写法表示 stat 对象等于 { publishYear: 2018, language: 'zh-CN' }
const _ = db.command
db.collection('articles').where({
  stat: _.eq({
    publishYear: 2018,
    language: 'zh-CN'
  })
})
示例
const cloud = require('wx-server-sdk')
cloud.init()
const db = cloud.database()
const _ = db.command
exports.main = async (event, context) => {
  try {
    return await db.collection('articles').where({
      stat: _.eq({
        publishYear: 2018,
        language: 'zh-CN'
      })
    })
      .get()
  } catch (e) {
    console.error(e)
  }
}