MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да направя заявка в тази структура на вложен документ (MongoDB)?

Отговорих на това няколко пъти относно събирането на поддокументите само от колекцията mongo тук , и тук

Просто няма начин да направите това в момента. Това е поведението на филтриране на многостепенен вграден документ, обикновено съвпадащият филтър би върнал целия документ, а не подгрупите.

Вече има два нерешени проблема в mongo, свързани с този позиционен ($) оператор в полета за връщане на спецификатора и Възможност за използване на данни от поддокумент, чието съдържание е използвано за удовлетворяване на заявка с помощта на оператора $ . (Моля, влезте, за да гласувате, ако наистина имате нужда от функцията)

И вашата алтернативна схема също не е полезна тук.

така че трябва да съхранявате всяка функция в отделен документ като този, за да работи по желания от вас начин

характеристика 1

{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 1',
'some_field' : 'zzz'
}

характеристика 2

{
'_id': SomeObjectId,
'name' :'some name',
'value': 'feature 2',
'some_field' : 'zzz'
}

и запитване

db.features.find({'_id':someobjectid})

ще върне само конкретната функция




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Отпечатване на резултати от заявка от Mongodb в Scala с помощта на mongo-scala-driver

  2. Mongodb конвертира множество обекти в масив, на място, за постоянно

  3. Как да използвам Map/Reduce в MongoDB?

  4. Полето $name трябва да бъде акумулиращ обект

  5. Създайте колекция в MongoDB