MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Rimuovi l'elemento dall'array in mongodb

Se ti capisco correttamente, vuoi rimuovere il primo e l'ultimo elemento dell'array se la dimensione dell'array è maggiore di 3. Puoi farlo usando la query findAndModify. In mongo shell useresti questo comando:

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

Questo troverebbe il documento nella tua raccolta che corrisponde alla clausola $where. Il campo $where ti consente di specificare qualsiasi metodo javascript valido. Tieni presente che applica l'aggiornamento solo al primo documento abbinato.

Potresti voler guardare anche i seguenti documenti:

  1. http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-JavascriptExpressionsand%7B%7B%24where%7D%7D per ulteriori informazioni sulla clausola $where.
  2. http://www.mongodb.org/display/DOCS /Aggiornamento#Aggiornamento-%24pop per ulteriori informazioni su $pop.
  3. http://www.mongodb.org/display/DOCS/findAndModify+ Comando per ulteriori informazioni trova e modifica.