如何在MongoDB中的数组中获取匹配的文档?
要获取匹配的文档,请使用$elemMatch。首先让我们创建一个包含文档的集合-
> db.getMatchingDocumentDemo.insertOne( { _id :1, "UserDetails":[ { "UserName":"John", "UserAge":23 } ] } ); { "acknowledged" : true, "insertedId" : 1 } > db.getMatchingDocumentDemo.insertOne( { _id :2, "UserDetails":[ { "UserName":"Larry", "UserAge":24 } ] } ); { "acknowledged" : true, "insertedId" : 2 }
以下是在find()
方法的帮助下显示集合中所有文档的查询-
> db.getMatchingDocumentDemo.find().pretty();
这将产生以下输出-
{ "_id" : 1, "UserDetails" : [ { "UserName" : "John", "UserAge" : 23 } ] } { "_id" : 2, "UserDetails" : [ { "UserName" : "Larry", "UserAge" : 24 } ] }
以下是在MongoDB中的数组中获取匹配文档的查询-
> db.getMatchingDocumentDemo.find({UserDetails: {$elemMatch: {UserAge: 24}}});
这将产生以下输出-
{ "_id" : 2, "UserDetails" : [ { "UserName" : "Larry", "UserAge" : 24 } ] }