sql >> Databasteknik >  >> NoSQL >> MongoDB

Ta bort element från array i mongodb

Om jag förstår dig rätt vill du ta bort de första och sista elementen i arrayen om storleken på arrayen är större än 3. Du kan göra detta genom att använda sökfrågan findAndModify. I mongo shell skulle du använda detta kommando:

db.collection.findAndModify({
    query: { $where: "this.time.length > 3" },
    update: { $pop: {time: 1}, $pop: {time: -1} },
    new: true
});

Detta skulle hitta dokumentet i din samling som matchar $where-satsen. Med $where-fältet kan du ange valfri giltig javascript-metod. Observera att uppdateringen endast tillämpas på det första matchade dokumentet.

Du kanske också vill titta på följande dokument:

  1. http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D för mer om $where-satsen.
  2. http://www.mongodb.org/display/DOCS /Updating#Updating-%24pop tidigare om $pop.
  3. http://www.mongodb.org/display/DOCS/findAndModify+ Kommando för mer om findAndModify.


  1. Korrekt användning av Electron

  2. Hur får man data från MongoDb med mongoose?

  3. MongoDB Gruppera efter fält, räkna det och sortera det desc

  4. Entity Framework och MongoDb