You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MongoDB $and与$or组合查询语法问题求助:Bronx区指定菜系查询报错

问题解决:MongoDB 查询语法错误修复

你的查询语句存在几处语法错误,导致了SyntaxError,以下是错误点和修正后的代码:

错误点分析

  • {borough: "Bronx} 缺少闭合的双引号,正确写法是{borough: "Bronx"}
  • $or数组内的每个条件对象格式错误,每个条件都需要用{}包裹,你写的[cuisine: "Spanish"}缺少开头的{
  • 虽然$and在这里可以省略(MongoDB默认多个顶级条件是逻辑与),但如果保留的话,语法要严格符合JSON格式

修正后的查询语句

db.listingsAndReviews.find({
  borough: "Bronx",
  $or: [
    { cuisine: "Spanish" },
    { cuisine: "Juice, Smoothies, Fruit Salads" },
    { cuisine: "Pizza" }
  ]
})

或者保留$and的写法(效果完全一致):

db.listingsAndReviews.find({
  $and: [
    { borough: "Bronx" },
    {
      $or: [
        { cuisine: "Spanish" },
        { cuisine: "Juice, Smoothies, Fruit Salads" },
        { cuisine: "Pizza" }
      ]
    }
  ]
})

关于你问的$and和$or之间的逗号:在JSON对象中,同级的键值对/数组元素之间必须用逗号分隔,比如$and数组里的两个元素({borough: "Bronx"}和包含$or的对象)之间需要加逗号,修正后的代码里已经正确处理了这一点。

内容的提问来源于stack exchange,提问作者Andeng

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 19:30:35