0
나는 삽입/업데이트 작업을 수행하는 컬렉션이 하나 있습니다. 삽입을 위해 나는 코드를 사용한다 :C#을 사용하여 mongodb에 삽입 된 문서를 업데이트하는 방법
MongoCollection<BsonDocument> tblCity = mydb.GetCollection<BsonDocument>("tblCity");
BsonDocument CollectionCity = new BsonDocument {
{ "CityCode", cityCode },
{ "CityName", cityName },
{ "stamps" , new BsonDocument {
{"ins", DateTime.Now},
{"upd", ""},
{"createUsr", UserId},
{"updUsr", ""},
{"Ins_Ip", ""},
{"Upd_IP", GetIP()}
}
}
};
tblCity.Insert(CollectionCity);
잘 작동하고있다.
MongoCollection <BsonDocument> tblCity = mydb.GetCollection<BsonDocument>("tblCity");
var query = new QueryDocument { { "City_strCode", cityCode } };
var update = new UpdateDocument {
{ "$set", new BsonDocument("City_strName", cityName) },
{ "stamps" , new BsonDocument{
{"upd", DateTime.Now},
{"updUsr", ""},
{"Upd_IP", GetIP()
}}
}};
tblCity.Update(query, update);
을하지만 문제는 밖으로는 ins
날짜를 변경하여 내가 upd
필드를 업데이트 할 것입니다 :하지만 난 코드를 사용하고 업데이트하고있다. 그러나 ins
필드를 제거하고 upd
필드를 업데이트하고 있습니다. 나는 많은 방법을 시도하고 있지만 어떤 해결책도 얻을 수 없습니다. 제발 뭔가를 제안 .... 심지어이 링크를 기반으로하고 시도 ..하지만 그들 중 누구도 운동.
당신이 점 표기법을 사용하여 시도 가지고 있습니까? 예 :' "stamps.upd"'? 기존 코드가 전체'stamps' 필드를 새 문서로 덮어 쓰고 있습니다. – WiredPrairie
@ WiredPrairie : 나중에 나는 "stamps.upd"와 같은 시도를했지만 별도의 필드로 간주합니다. "stamps.upd"는 mongo 쉘에서 직접 작동하지만 C# 코드에서는 작동하지 않습니다 – HomeWork
@WiredPrairie : 감사합니다 Yaar Bellow code fin ... 고마워요. – HomeWork