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

如何在Azure Mongo CosmosDB中查询三个字段无重复的文档

问题描述

我有如下示例数据:

"lastRun": [
{
  "_id": "64e03c733",
  "A": "valueA",
  "B": "valueA",
  "C": "valueA",
},
{
  "_id": "64e03c734",
  "A": "valueA",
  "B": "valueB",
  "C": "valueC",
},
{
  "_id": "64e03c735",
  "A": "valueA",
  "B": "valueA",
  "C": "valueB",
}
]

实际存在大量此类数据,我希望查询出A、B、C三个字段值均不重复的文档。已知在MySQL中可通过c.field1 <> c.field2 AND c.field1 <> c.field3 AND c.field2 <> c.field3实现,请问在Azure Mongo CosmosDB中如何用JSON格式的查询语句实现该需求?

解决方案

在Azure Cosmos DB for MongoDB中,你可以通过$ne(不等于)操作符组合条件来筛选目标文档,具体JSON查询语句有两种写法:

写法一(显式使用$and)

db.collection.find({
  "$and": [
    { "A": { "$ne": "$B" } },
    { "A": { "$ne": "$C" } },
    { "B": { "$ne": "$C" } }
  ]
})

写法二(隐式逻辑与,更简洁)

db.collection.find({
  "A": { "$ne": "$B" },
  "A": { "$ne": "$C" },
  "B": { "$ne": "$C" }
})

说明

  • $ne是MongoDB中的不等于操作符,功能等价于MySQL里的<>
  • 上述查询会返回所有满足A≠B、A≠C且B≠C的文档,对应示例数据中_id为64e03c734的记录。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 21:17:06