CHỈNH SỬA: Không tìm cách làm javascript này. Tôi đang tìm cách trình điều khiển MongoDB C# 2.0 để làm điều này (tôi biết điều đó có thể không khả thi, nhưng tôi hy vọng ai đó biết một giải pháp).Phần tử cập nhật Mongo (Trình điều khiển .NET 2.0)
Tôi đang cố gắng cập nhật giá trị của một mục được nhúng trong một mảng trên tài liệu chính trong mongodb của tôi.
Tôi đang tìm cách được nhập mạnh mẽ để thực hiện việc này. Tôi đang sử dụng Mongodb c# 2.0 driver
Tôi có thể làm điều đó bằng cách popping phần tử, cập nhật giá trị, sau đó lắp lại. Điều này không cảm thấy đúng; kể từ khi tôi ghi đè lên những gì có thể đã được viết trong thời gian chờ đợi.
Dưới đây là những gì tôi đã cố gắng cho đến nay nhưng không có may mắn:
private readonly IMongoCollection<TempAgenda> _collection;
void Main()
{
var collectionName = "Agenda";
var client = new MongoClient("mongodb://localhost:27017");
var db = client.GetDatabase("Test");
_collection = db.GetCollection<TempAgenda>(collectionName);
UpdateItemTitle(1, 1, "hello");
}
public void UpdateItemTitle(string agendaId, string itemId, string title){
var filter = Builders<TempAgenda>.Filter.Eq(x => x.AgendaId, agendaId);
var update = Builders<TempAgenda>.Update.Set(x => x.Items.Single(p => p.Id.Equals(itemId)).Title, title);
var result = _collection.UpdateOneAsync(filter, update).Result;
}
thể trùng lặp của [MongoDB - Cập nhật một đối tượng trong lồng Mảng] (http://stackoverflow.com/questions/10522347/mongodb-update-an-object- in-lồng nhau-mảng) –
@BlakesSeven đó không phải là aC# câu hỏi? –
Nó vẫn là nguyên tắc tương tự. Phù hợp với phần tử mảng trong phần truy vấn và sử dụng toán tử '$' vị trí trong phần cập nhật. Tôi không chỉ ngẫu nhiên kéo nó ra khỏi túi. –