Найти в MongoDb несколько значений документа в одном документе

1

Я хотел бы извлечь список ean из моей базы данных MongoDB. С помощью "find()" я получаю отдельные документы. Я хотел бы получить список ean в уникальном представлении документа или, самое большее, в массиве. Я знаю, что я могу читать данные в php и обрабатывать их. Но поскольку я изучаю использование MongoDB и "MongoDB Driver" для PHP, я хотел бы понять, как извлекать данные непосредственно из базы данных с помощью команд.

Моя БД:

{
   "_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"
   ]
}

Я также удалю дубликат результатов по результатам, но это еще одна история...

Я могу сделать это с монгодбом?

Спасибо всем, кто хочет помочь мне!

Теги:
database
arrays
php-mongodb

1 ответ

0
Лучший ответ

Я бы предложил использовать различные функции. Я не очень хорошо знаком с php, но я думаю, что код будет выглядеть так:

$collection->distinct("ean");
  • 0
    Отлично! Это именно то, что мне было нужно! db.getCollection ('products'). Different ("ean") Большое спасибо!

Ещё вопросы

Сообщество Overcoder
Наверх
Меню