MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zaktualizuj/usuń dokument podrzędny w mongodb za pomocą sterownika C#

Aby zaktualizować poddokument, możesz użyć tego:

var update = Update.Set("AnswerList.$.OptionName", "new").Set("AnswerList.$.VoteCount", 5);
collection.Update(Query.And(Query.EQ("_id", new BsonObjectId("50f3c313f216ff18c01d1eb0")), Query.EQ("AnswerList.OptionId", "1")), update);

profiler:

"query" : { "_id" : ObjectId("50f3c313f216ff18c01d1eb0"), "AnswerList.OptionId" : "1" },
"updateobj" : { "$set" : { "AnswerList.$.OptionName" : "new", "AnswerList.$.VoteCount" : 5 } }

I usunąć:

var pull = Update<Vote>.Pull(x => x.AnswerList, builder => builder.EQ(q => q.OptionId, "2"));
collection.Update(Query.And(Query.EQ("_id", new BsonObjectId("50f3c313f216ff18c01d1eb0")), Query.EQ("AnswerList.OptionId", "2")), pull);

profiler:

"query" : { "_id" : ObjectId("50f3c313f216ff18c01d1eb0"), "AnswerList.OptionId" : "2" },
"updateobj" : { "$pull" : { "AnswerList" : { "OptionId" : "2" } } }

Innym sposobem jest aktualizacja dokumentu nadrzędnego za pomocą zmodyfikowanej kolekcji podrzędnej.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Potrzebujesz wskazówek dotyczących wyszukiwania agregacji mongo, aby zliczyć podwęzły we wszystkich węzłach podrzędnych dla każdego węzła

  2. Jak zbudować zapytanie warunkowe w Mongoose?

  3. Jak tworzyć indeksy bez rozróżniania wielkości liter w MongoDB?

  4. Nie można zapełnić dużej części danych do mongodb za pomocą Node.js

  5. Nie można uruchomić logstash przy użyciu konfiguracji mongoDB?