MongoDB:无法查询一系列嵌入式文档中的字段

时间:2019-11-30 07:58:17

标签: mongodb mongodb-query

我在MongoDB中的文档是这样的:

{ 
   "data":{ 
      "groupName":"sample",
      "users": [ 
         { 
            "_id":new ObjectId(),
            "mobNum":"29857903289",
            "isAdmin":"true"
         },
         { 
            "_id":new ObjectId(),
            "mobNum":"87532480923",
            "isAdmin":"false"
         },
      ]
   }
}

usersgroupusers集合中的一系列嵌入式内容。当我尝试像这样查询嵌入式子字段时 db.groupusers.find( { "users.$.mobNum": "29857903289" } ),它没有回复我。

问题在于查询嵌入的子字段。我是使用MongoDB的新手。不知道如何查询子字段的嵌入式数组。不知道该怎么办。任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

应使用美元符号进行更新。就您而言,您只需要使用dot notation。请记住,字段名称在MongoDB中区分大小写:

func urlSessionDidFinishEvents(forBackgroundURLSession session: URLSession) {

        DispatchQueue.main.async{
            if let appDelegate = UIApplication.shared.delegate as? AppDelegate, let completionHandler = appDelegate.backgroundTaskCompletionHandler{
                appDelegate.backgroundTaskCompletionHandler = nil
                completionHandler()
            }
        }

}

Mongo Playground

答案 1 :(得分:0)

在这里使用

db.getCollection('YOUR_COLLECTION_HERE').find({
  "data.users": {
    "$elemMatch": {
      "mobNum": "29857903289"
    }
  }
}})