【问题标题】:How to find the document having an array element? [duplicate]如何找到具有数组元素的文档? [复制]
【发布时间】:2019-05-27 22:31:27
【问题描述】:

我有一个MongoDB文档如下:

{
    "_id" : ObjectId("5c29f3123d8cf714fd9cdb87"),
    "Machine" : "host1",
    "Pools" : [
        "Pool1",
        "Pool2"
    ]
}

如何在我的集合中的“Pools”键中找到所有具有池Pool1 的文档?

我尝试了以下方法,但似乎不正确。

 db.Resources.find({Pools: {$elemMatch: { "$in", ['Pool1']}}}).pretty()

【问题讨论】:

  • 这里不需要使用$in$elemMatch。试试这个db.Resources.find({ Pools: 'Pool1' }).pretty()
  • 我明白了,它成功了,谢谢!

标签: mongodb


【解决方案1】:

有不同的方法可以得到你想要的。

查找 Pools 数组中包含 Pool1 的所有记录:

db.Resources.find({Pools: 'Pool1'}).pretty()

查找所有 Pools 数组中包含以下数组元素的记录,顺序无所谓

db.Resources.find({Pools: {$all: ['Pool1', ...]}}).pretty()

要了解有关查询数组的更多信息,请参阅mongodb post

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-24
    • 2012-04-09
    • 1970-01-01
    • 2014-12-11
    • 2012-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多