0

我正在尝试从我的 MongoDB 文档中的子集合中删除一个项目。

这是一个简单的例子:

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

我已经尝试过$pull,它在 shell 上运行良好,但我怎样才能使用 Linq 完成这个。

任何建议都非常受欢迎,谢谢:)

4

1 回答 1

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 。

于 2012-04-24T12:19:09.323 回答