在微信小程序的服务端数据库 API 中,查询筛选条件可以使用 where 方法进行设置,从而实现按条件过滤记录。以下是一些常见的查询筛选条件的使用示例:

相等条件($eq)
const cloud = require('wx-server-sdk');
cloud.init();

const db = cloud.database();

exports.main = async (event, context) => {
  try {
    const result = await db.collection('your_collection_name')
      .where({
        field1: 'value1',  // 查询 field1 字段等于 'value1' 的记录
      })
      .get();

    return {
      code: 0,
      data: result.data,
      message: '获取数据成功',
    };
  } catch (err) {
    return {
      code: -1,
      data: [],
      message: '获取数据失败',
      error: err,
    };
  }
};

不等条件($neq)
const cloud = require('wx-server-sdk');
cloud.init();

const db = cloud.database();

exports.main = async (event, context) => {
  try {
    const result = await db.collection('your_collection_name')
      .where({
        field1: db.command.neq('value1'),  // 查询 field1 字段不等于 'value1' 的记录
      })
      .get();

    return {
      code: 0,
      data: result.data,
      message: '获取数据成功',
    };
  } catch (err) {
    return {
      code: -1,
      data: [],
      message: '获取数据失败',
      error: err,
    };
  }
};

包含条件($in)
const cloud = require('wx-server-sdk');
cloud.init();

const db = cloud.database();

exports.main = async (event, context) => {
  try {
    const result = await db.collection('your_collection_name')
      .where({
        field1: db.command.in(['value1', 'value2']),  // 查询 field1 字段包含在 ['value1', 'value2'] 中的记录
      })
      .get();

    return {
      code: 0,
      data: result.data,
      message: '获取数据成功',
    };
  } catch (err) {
    return {
      code: -1,
      data: [],
      message: '获取数据失败',
      error: err,
    };
  }
};

不包含条件($nin)
const cloud = require('wx-server-sdk');
cloud.init();

const db = cloud.database();

exports.main = async (event, context) => {
  try {
    const result = await db.collection('your_collection_name')
      .where({
        field1: db.command.nin(['value1', 'value2']),  // 查询 field1 字段不包含在 ['value1', 'value2'] 中的记录
      })
      .get();

    return {
      code: 0,
      data: result.data,
      message: '获取数据成功',
    };
  } catch (err) {
    return {
      code: -1,
      data: [],
      message: '获取数据失败',
      error: err,
    };
  }
};

这些示例演示了如何使用不同的查询筛选条件,在查询中根据字段值的相等、不等、包含、不包含等条件进行过滤。你可以根据实际需求结合其他条件进行更复杂的查询。


转载请注明出处:http://www.zyzy.cn/article/detail/5892/微信小程序