2016-06-09 107 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”) 非常感谢! –