如何在 MongoDB 的数组中通过唯一值查找记录?

How to find a record by unique value inside an array in MongoDB?

我想在他的“affiliates.wallets”数组中找到一个包含“要匹配的字符串”的记录。但是由于某些原因,我无法做到。

我正在尝试类似的东西:

db.collection.findOne({ "affiliates.wallets": {$in: "[String to match]"}, (err, data) => console.log(err, data)})

但它 returns null。所以,我寻求帮助。

简化的钱包架构:

Wallet {
  affiliates: {
    wallets: [String]
  }
}

P.S:我正在使用 findOne 方法,因为我用来定位记录的这个“要匹配的字符串”是唯一的,它只能位于一条记录中。

您不需要 $in 操作员。你可以这样做:

db.collection.findOne({
  "affiliates.wallets": "String to match", 
}, (err, data) => {
  console.log(err, data)
})