当前位置: 首页 > article >正文

MongoDB比较查询操作符中英对照表及实例详解

mongodb比较查询操作符中英表格一览表

NameDescription功能
$eqMatches values that are equal to a specified value.匹配值等于指定值。
$gtMatches values that are greater than a specified value.匹配值大于指定值。
$gteMatches values that are greater than or equal to a specified value.匹配值大于等于指定值。
$inMatches any of the values specified in an array.匹配数组中任意一个值。
$ltMatches values that are less than a specified value.匹配值小于指定值。
$lteMatches values that are less than or equal to a specified value.匹配值小于等于指定值。
$neMatches all values that are not equal to a specified value.匹配值不等于指定值。
$ninMatches none of the values specified in an array.匹配数组中任意一个值都不匹配。

代码实例

const mongoose = require('mongoose');

// 假设我们在运行代码的电脑已经安装MongoDB,现在链接MongoDB 数据库
//`mongodb://localhost:27017/testdb`这里是数据库地址,testdb 是数据库名称
mongoose.connect('mongodb://localhost:27017/testdb', { useNewUrlParser: true, useUnifiedTopology: true });

// 定义 Product 模型
const productSchema = new mongoose.Schema({
  name: String,
  price: Number,
  category: String
});

const Product = mongoose.model('Product', productSchema);

// 示例数据插入
async function insertSampleData() {
  await Product.insertMany([
    { name: 'Laptop', price: 999, category: 'Electronics' },
    { name: 'Smartphone', price: 499, category: 'Electronics' },
    { name: 'Coffee Maker', price: 89, category: 'Home Appliances' },
    { name: 'Desk Chair', price: 150, category: 'Furniture' }
  ]);
}

// 查询示例
async function queryExamples() {
  // $eq - 匹配价格等于 999 的产品
  const eqProducts = await Product.find({ price: { $eq: 999 } });
  console.log('$eq:', eqProducts);

  // $gt - 匹配价格大于 100 的产品
  const gtProducts = await Product.find({ price: { $gt: 100 } });
  console.log('$gt:', gtProducts);

  // $gte - 匹配价格大于等于 150 的产品
  const gteProducts = await Product.find({ price: { $gte: 150 } });
  console.log('$gte:', gteProducts);

  // $in - 匹配类别在 ['Electronics', 'Furniture'] 中的产品
  const inProducts = await Product.find({ category: { $in: ['Electronics', 'Furniture'] } });
  console.log('$in:', inProducts);

  // $lt - 匹配价格小于 300 的产品
  const ltProducts = await Product.find({ price: { $lt: 300 } });
  console.log('$lt:', ltProducts);

  // $lte - 匹配价格小于等于 150 的产品
  const lteProducts = await Product.find({ price: { $lte: 150 } });
  console.log('$lte:', lteProducts);

  // $ne - 匹配价格不等于 89 的产品
  const neProducts = await Product.find({ price: { $ne: 89 } });
  console.log('$ne:', neProducts);

  // $nin - 匹配类别不在 ['Electronics', 'Home Appliances'] 中的产品
  const ninProducts = await Product.find({ category: { $nin: ['Electronics', 'Home Appliances'] } });
  console.log('$nin:', ninProducts);
}

// 运行示例
(async () => {
  try {
    await insertSampleData();
    await queryExamples();
    mongoose.connection.close();
  } catch (error) {
    console.error(error);
    mongoose.connection.close();
  }
})();








http://www.kler.cn/a/405499.html

相关文章:

  • 数据库类型介绍
  • 【腾讯云产品最佳实践】腾讯云CVM入门技术与实践:通过腾讯云快速构建云上应用
  • 键盘上打出反引号符号(´),即单个上标的撇号(这个符号与反引号 ` 不同,反引号通常位于键盘的左上角)
  • HarmonyOs DevEco Studio小技巧31--卡片的生命周期与卡片的开发
  • 主机管理工具 WGCLOUD v3.5.6 更新了哪些特性
  • 探索Python编程:从入门到实践的高效指南
  • 可视化建模与UML《活动图实验报告》
  • 【大数据知识】ClickHouse入门
  • 微服务即时通讯系统的实现(服务端)----(1)
  • 游戏引擎学习第18天
  • Android开发教程案例源码分享-匹配动画多个头像飘动效果
  • 在 Ubuntu 上安装 Yarn 环境
  • 解决非小米电脑使用小米电脑管家,妙享桌面连接失败的问题
  • 【Rust练习】22.HashMap
  • 再次讨论下孤注一掷
  • SpringSecurity创建一个简单的自定义表单的认证应用
  • 移动充储机器人“小奥”的多场景应用(上)
  • BugJson因为json格式问题OOM怎么办
  • 【通俗理解】隐变量的变分分布探索——从公式到应用
  • excel版数独游戏(已完成)
  • 5种常见的k8s云原生数据管理方案详解
  • 使用uniapp编写APP的文件上传
  • 【Linux驱动开发】裸机点亮LED灯实验
  • 向量数据库FAISS之二:基础进阶版
  • c与c++比较
  • 高性能服务器模型之Reactor(单线程版本)