这是在mongodb上

{cod_com:'WWWOAN',
     cod_prod[{prod:'proda',info:'hola mundo'},{prod:'pacda',info:'hola mundo'},{prod:'prcdb',info:'hola mundo'}]
}
{cod_com:'WWWOA2',
     cod_prod[{prod:'prdda',info:'hola mundo'},{ccod:'prcda',info:'hola mundo'}]
}
{cod_com:'WWWOA1',
     cod_prod[{prod:'prcda',info:'hola mundo'},{aaad:'prcda',info:'hola mundo'}]
}


我必须在cod_prod变量中获取信息...所以我需要两个步骤

首先,我查询cod_prod的所有者

db.collection.findOne({cod_com:'WWWOA1'});


如果存在,我查询所需的cod_prod

db.collection.findOne({'cod_prod.prod':'prcda'});


所以基本上我会查询两次,首先是对产品的所有者,其次是对正在搜索的产品的信息...

问题是,有什么方法可以直接搜索产品???

我不能用这个...

db.collection.findOne({'cod_prod.prod':'prcda'});


因为不同的所有者拥有相同的产品...所以我首先获得所有者,其次我获得该产品...。

有人有更好的办法吗?或以其他方式获取信息??? n

最佳答案

如果您这样查询:

db.collection.findOne({'cod_com':'WWOA1', 'cod_prod.prod':'prcda'});


您应该得到想要的结果。

09-18 11:53