mongodb中刪除數組內嵌對象文檔


這個問題在做數據結構的時候經常用到,剛開始沒怎么留意,因為我的數組都只是單元素文檔:只有一個ObjectId,這樣用pull操作完全沒有問題,但后來用對象作為了數據的內容,就是數組內嵌的對象,這時候用pull就是各種不生效。發現Mongodb對數組內對象的get和pull使用的書寫格式不一致。下面我列出可以使用的書寫方式:

先列出mongodb的數據結構

{
  "_id" : ObjectId,
  "Uid" : ObjectId,
  "Visit" : Visit[16]
}


其中Visit為對象:

///訪客id
ObjectId  VId;
///訪問時間
DateTime Time;

則刪除數組內某個Vid的寫法為(我的客戶端是:samus):

MongoDbHelper.Update<FriendTopicVisit>("FriendTopicVisit", new Document("$pull", new Document("Visit",new Document("Vid",visit.Vid))), new Document("_id", id));

 

方法不復雜,但不知道方法再去找方法也確實挺費時間的。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM