다음을 통해 공유


.NET을 사용하여 Azure Cosmos DB for MongoDB에서 문서 관리

적용 대상: MongoDB

문서를 삽입, 업데이트 및 삭제하는 기능을 사용하여 MongoDB 문서를 관리합니다.

참고 항목

예제 코드 조각은 GitHub에서 .NET 프로젝트로 사용할 수 있습니다.

API for MongoDB 참조 설명서 | MongoDB 패키지(NuGet)

문서 삽입

JSON 스키마로 정의된 하나 이상의 문서를 컬렉션에 삽입합니다.

// insert one document
var product = new BsonDocument
{
    { "name", "Sand Surfboard" },
    { "category", "gear-surf-surfboards" },
    { "count", 1 }
};

collection.InsertOne(product);

// insert many documents
var products = new List<BsonDocument>() 
{
    new BsonDocument
    {
        { "name", "Lake Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 1 }
    },
    new BsonDocument
    {
        { "name", "Ocean Surfboard" },
        { "category", "gear-surf-surfboards" },
        { "count", 5 }
    }
};

collection.InsertMany(products);

문서 업데이트

문서를 업데이트하려면 업데이트해야 하는 문서의 속성 세트와 함께 문서를 찾는 데 사용되는 쿼리 필터를 지정합니다.

// update one item
var filter = Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard");
var update = Builders<BsonDocument>.Update.Set("name", "Sand Surfboard Pro");

collection.UpdateOne(filter, update);

//update many items
var filterMany = Builders<BsonDocument>.Filter.Eq("category", "gear-surf-surfboards");
var updateMany = Builders<BsonDocument>.Update.Set("category", "gear-surfboards");

collection.UpdateMany(filterMany, updateMany);

컬렉션에 대한 대량 업데이트

bulkWrite 작업을 사용하여 한 번에 여러 유형의 작업을 수행할 수 있습니다. Azure Cosmos DB에 대한 대량 쓰기를 최적화하는 방법에 대해 자세히 알아봅니다.

다음과 같은 대량 작업을 사용할 수 있습니다.

// perform multiple different types of operations
var models = new WriteModel<BsonDocument>[]
{
    new InsertOneModel<BsonDocument>(new BsonDocument(new BsonDocument
    {
        { "name", "Wave Paddleboard" },
        { "category", "gear-surfboards" },
        { "count", 1 }
    })),
    new UpdateOneModel<BsonDocument>(
        Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard Pro"),
        Builders<BsonDocument>.Update.Set("name", "Sand Surfboard Pro X")),
    new DeleteOneModel<BsonDocument>(new BsonDocument("name", "Ocean Surfboard"))
};

collection.BulkWrite(models);

문서 삭제

문서를 삭제하려면 쿼리를 사용하여 문서를 찾은 방법을 정의합니다.

var deleteFilter = Builders<BsonDocument>.Filter.Eq("name", "Sand Surfboard Pro X");

collection.DeleteOne(deleteFilter);

참고 항목