2016-02-18 78 views
1

在数据库中,有两个用户,如何在这种情况下正确查询?

// User1 

    {ABC: [{aa:"11", bb:"11"}, {aa:"22", bb:"22"}]} 

// User2 

    {ABC: [{aa:"11", bb:"22"}, {aa:"33", bb:"44"}]} 

我想获得用户,其aa = 11bb = 22在阵列中的一个元素的同时。所以我只想在这里获得User2。

let users = Meteor.users.find({$and: [{'ABC.aa': "11"}, {'ABC.bb': "22"}]}); 

但现在我得到了两个用户使用此查询。我该如何正确编写查询?由于

回答

2

使用$elemMatch匹配整个元素:

let users = Meteor.users.find({ ABC: { $elemMatch: { aa: "11", bb: "22" }}}); 
+0

太感谢你了! –

相关问题