2013-10-03 6 views
1

Я пытаюсь получить определенные элементы в этом коде. (Пожалуйста, игнорируйте глупые фиктивные данные)Невозможно вставить объект в массив объектов в Mongodb

{ 
"Order_Number": "1", 
"Status": "Pending", 
"Customer":{ 
    "First_Name": "Juan", 
    "Second_Name": "De La Cruz", 
    "Email": "[email protected]", 
    "contact": "0923275937" 
      }, 
"Shipping_Address": "291,Ominous Building, Quezon City, Philippines", 
"Billing_Address": "IOU, Iowa, USA", 
"Weight": "200 lbs.", 
"Description": "Joots", 
"Tracking Information": { 
    "Tracking Number": "000000001", 
    "Shipping History": { 
     "Shipping Transactions": [ 
      { 
       "Date Received": "10/1/2013", 
       "Date Released": "10/10/2013", 
       "Source": "Center of the earth", 
       "Control Number": "100010001" 
      }, 
      { 
       "Date Received": "10/2/2013", 
       "Date Released": "10/12/2013", 
       "Source": "Center of Venus", 
       "Control Number": "100010002" 
      }, 
      { 
       "Date Received": "10/3/2013", 
       "Date Released": "10/13/2013", 
       "Source": "San Francisco", 
       "Control Number": "100010003" 
      } 
     ] 
    } 
} 
} 

Теперь, я пытался получить эти элементы в «Доставка Транзакции».

{ 

     "Date Received": "10/2/2013", 
     "Date Released": "10/11/2013", 
     "Source": "Center of Mars", 
     "Control Number": "100010005" 
} 

Я пробовал делать push, но он даже не кажется, что он добавляет себя в массив.

{$push:{"Tracking Information":{"Shipping History":{"Shipping Transactions": 
    [{"Date Received": "10/4/2013", 
    "Date Released": "10/11/2013", 
    "Source": "Center of Mars", 
    "Control Number": "100010005"}] 
} 

Возможно, этот код имеет недостаток или я делаю что-то неправильно? Я использую только web-браузер MongoDb.

ответ

2

Это следует сделать это:

{ 
    $push:{"Tracking Information.Shipping History.Shipping Transactions": {"Date Received": "10/4/2013", 
    "Date Released": "10/11/2013", 
    "Source": "Center of Mars", 
    "Control Number": "100010005"}} 
} 

Это называется dot notation. Действительно полезно.

Смежные вопросы