这是在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'});
因为不同的所有者拥有相同的产品...所以首先我得到所有者,然后我得到产品......
任何人都有更好的方法吗?或者以不同的方式获取信息??? TNX
答案 0 :(得分:1)
如果您这样查询:
db.collection.findOne({'cod_com':'WWOA1', 'cod_prod.prod':'prcda'});
你应该得到你想要的结果。