2016-06-09 103 views
1

我想從我的MongoDB數據庫中提取一個ean列表。用「find()」我得到單獨的文檔。我想在文檔的獨特視圖中獲取ean列表,或者至多在一個數組中。 我知道我可以在php中讀取數據並處理它們。 但是,因爲我正在學習使用MongoDB和PHP的「MongoDB驅動程序」,所以我想了解如何使用命令直接從數據庫提取數據。在MongoDb上查找多文檔值到一個文檔中

我的DB:

{ 
    "_id" : "ID0001", 
    "ean" : [ 
     "4960999612638", 
     "4960999150437", 
     "0050332160514" 
    ] 
} 
{ 
    "_id" : "ID0002", 
    "ean" : [ 
     "4960999213743" 
    ] 
} 
{ 
    "_id" : "ID0003", 
    "ean" : [ 
     "0050332143265", 
     "0050332143258" 
    ] 
} 
{ 
    "_id" : "ID0004", 
    "ean" : [ 
     "0050332160514" 
    ] 
} 

我想獲得(或類似):

{ 
    "ean" : [ 
     "4960999612638" 
     "4960999150437" 
     "0050332160514" 
     "4960999213743" 
     "0050332143265" 
     "0050332143258" 
    ] 
} 

我還要對結果刪除重複EAN,但這是另一個故事...

我可以用mongodb做到這一點?

感謝所有那些想幫助我!

回答

0

我會建議使用不同的功能。我不是很熟悉php,但我認爲,代碼看起來像這樣:

$collection->distinct("ean"); 
+0

完美!這正是我需要的! db.getCollection('products')。distinct(「ean」) 非常感謝! –