mongoDB Переименовать встроенное поле - PullRequest
4 голосов
/ 01 августа 2011

как мы переименовываем встроенные поля, используя C # с mongoDB?Пример документа Person будет:

{
Id: 1,
LastName: "Smith",
FirstName: "John",
Orders: {
         Id: 1,
         Name: "Trousers" // I want to rename **Name** into **Something**
    }
}

С синтаксисом mongoDB это будет что-то вроде

db.Users.update({}, {$rename:{"Orders.Name":"Orders.Something"}},true, true)

Спасибо.

1 Ответ

5 голосов
/ 01 августа 2011

Посмотрите на

 MongoDB.Driver.Builders.Update.Rename(string oldElementName, 
                                       string newElementName)

Возвращает IUpdateQuery, который вы можете передать в collection.Update () и переименовать ваше поле. В построителе обновлений C # есть каждая специальная команда, которую вы можете использовать в mongo как вызываемая функция для построения вашего запроса.

Пространство имен Builders является отличным пространством имен в драйвере MongoDB C #. Он включает в себя построители запросов и обновлений. Вы можете объединять команды и делать такие вещи:

 Update.Set("indexsize", indexSize).Set("extractsize", extractedFileSize);

или

 Query.GT("filesize", 200000).In(bsonArray);
...