2012-04-24 5 views
0

Я пытаюсь удалить элемент из моей дочерней коллекции в моем документе MongoDB.

Вот простой пример:MongoDB: удалить элемент из дочерней коллекции

{ 
    _id : ObjectId("4f966b41682dbc1be0c7b640"), 
    Firstname: "John", 
    Lastname: "Doe", 
    Skills: [ 
     { 
      _id : ObjectId("4f966b3f682dbc1bec7b63c"), 
      name: "C#" 
     }, 
     { 
      _id : ObjectId("4f966b3f682dbc1bec7b63c"), 
      name: "ASP.NET" 
     }, 
    ] 
} 

Я попытался $pull и она отлично работает на корпусе, но как я могу сделать это, используя Linq.

любое предложение гораздо apprciated, спасибо :)

ответ

1

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

var update = Update.Pull("Skills"); 
var query = Query.Eq("_id", myObjectId); 
collection.Update(query, update); 

Надеюсь, мы сделаем это более строго типизированным в будущем. Документацию можно посмотреть здесь: http://www.mongodb.org/display/DOCS/CSharp+Driver+Tutorial#CSharpDriverTutorial-Updatemethod.

+0

спасибо! Я смог понять это с помощью вашего сообщения. – Drew

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