MST

星途 面试题库

面试题:MongoDB复合查询条件构建策略之复杂逻辑

给定一个MongoDB集合,文档包含字段:product: '产品名称', category: '产品类别', price: 数字, reviews: [ { rating: 数字, comment: '字符串' } ]。要求查询出产品类别为'电子产品',价格在100到500之间(不包含100和500),且评论中至少有一条评分大于4的文档,写出对应的查询语句及简要说明查询思路。
28.6万 热度难度
数据库MongoDB

知识考点

AI 面试

面试题答案

一键面试

查询语句

db.collection.find({
    category: '电子产品',
    price: { $gt: 100, $lt: 500 },
    "reviews.rating": { $gt: 4 }
});

查询思路

  1. category: '电子产品':筛选出category字段值为电子产品的文档。
  2. price: { $gt: 100, $lt: 500 }:使用$gt(大于)和$lt(小于)操作符,筛选出price字段值在100到500之间(不包含100和500)的文档。
  3. "reviews.rating": { $gt: 4 }:检查reviews数组中是否至少有一个对象的rating字段值大于4 。reviews.rating这种表示法用于查询数组内嵌套对象的字段。