2016-10-25 2 views
0

Как я могу удалить откровенный из коллекции массива ниже.удалить объект из массива в mongodb

{ 
    "_id" : ObjectId("58978989"), 
    "positionId" : "54535343", 
    "jobTitle" : "Developer", 
    "status" : "Open", 
    "jobDescription" : "HyperLink Place holder", 
    "candidate" : [ 
     { 
      "candid" : ObjectId("b20474567892345678900021") 
     }, 
     { 
      "candid" : ObjectId("b30474567892345678900021") 
     }, 
     { 
      "candid" : ObjectId("b40474567892345678900021") 
     }, 
     { 
      "candid" : ObjectId("b50474567892345678900021") 
     } 
    ] 
} 

ожидается выход

{ 
    "_id" : ObjectId("58978989"), 
    "positionId" : "54535343", 
    "jobTitle" : "Developer", 
    "status" : "Open", 
    "jobDescription" : "HyperLink Place holder", 
    "candidate" : [ 
     { 
      "candid" : ObjectId("b20474567892345678900021") 
     }, 
     { 
      "candid" : ObjectId("b30474567892345678900021") 
     }, 
     { 
      "candid" : ObjectId("b40474567892345678900021") 
     } 
    ] 
} 

ответ

-1

Поскольку массив содержит идентичные объекты, я предполагаю, что вы хотите удалить конкретный индекс. Если это так, используйте следующее.

db.test.update({_id: ObjectId("58978989")}, {$unset: {"candidate.1": 1}}) 
db.test.update({ _id: ObjectId("58978989")}, { $pull: { candidate: null} }) 

Взгляните на это, чтобы узнать больше https://docs.mongodb.com/manual/reference/operator/update/pull/

+0

Это приведет к документу вы хотели. Если это не поможет вам предоставить дополнительную информацию, чтобы мы могли вам помочь. – SJFJ

+0

вышеупомянутый запрос работает отлично в robomongo, но когда я пытался запустить тот же запрос, используя модель в моем приложении-узле, он не работает –

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