2013-02-23 40 views
1

這是MongoDB的mongoskin上的單個查詢或多個查詢mongoskin?

{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變量內的信息...所以用兩個步驟

工作IM首先我查詢cod_prod的所有者

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

如果存在,我查詢cod_prod,我需要

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

所以基本上兩次查詢,首先是對產品的所有者,第二個產品的信息即時搜索...

問題是,有什麼方法可以直接搜索產品? ??

我不能用這個......

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

因爲業主型動物具有相同的產品......首先,我得到了業主和第二我得到的產品....

任何人有更好的aproach?或以不同的方式獲取信息? TNX

回答

1

如果查詢是這樣的:

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

你應該得到你想要的結果。

+0

如果我想得到包含'cod_prod.prod'的'cod_com':'prcda',我怎麼能得到這個信息...所有者信息 – andrescabana86 2013-02-24 00:58:54

+0

查詢沒有給我數組...給我所有的文件我只需要信息...不是整個文檔 – andrescabana86 2013-02-24 03:14:48

+1

默認情況下查詢總是返回完整的文檔。您可以使用$ elemMatch投影算子來獲取第一個匹配的數組元素。 – 2013-02-25 06:55:08