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

Czy mogę zmniejszyć tekst w mongodb?

Nie ma sensu zwiększać/zmniejszać ciągu alfanumerycznego; musisz rozdzielić oryginalną wartość ciągu na znaczące części, zanim poprosisz MongoDB (lub kod aplikacji) o dostosowanie części numerycznej.

Zwykle z permalinkami będziesz także zwiększać wartości, a nie zmniejszać - cała intencja permalinków polega na upewnieniu się, że dany link zawsze wskazuje ten sam zasób.

Wygląda na to, że rzeczywiście chcesz zaimplementować wzorzec sekwencji, w którym znajdziesz następną dostępną wartość sekwencji do użycia.

Na przykład zobacz:Tworzenie sekwencji autoinkrementacji w podręczniku MongoDB.

Oto nieco zmodyfikowana wersja getNextSequence() funkcja w dokumentacji, która używa upsert aby znaleźć istniejący dokument licznika informacji lub wstawić nowy. Zwracana wartość to nowy unikalny ślimak:

function getNextSequence(name) {
   var ret = db.counters.findAndModify(
      {
        query: { _id: name },
        update: { $inc: { seq: 1 } },
        upsert: true,
        new: true,
      }
   );

    // Return the new slug (eg: "example_1")
    return name + '_' + ret.seq;
}

> getNextSequence("example")
example_1
> getNextSequence("example")
example_2
> getNextSequence("example")
example_3

Jeśli chcesz zmniejszyć wartość początkową, możesz wstawić wartość początkową dla swojej sekwencji i zmniejszyć ją za pomocą $inc: { seq: -1 } .




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB uzyskuje indywidualną liczbę z sudocuments z operacjami porównania

  2. Nie można odczytać właściwości „castForQuery” undefined w castArrayFilters w Node.js

  3. MongoDB:Jak używać jednego schematu jako dokumentu podrzędnego dla różnych kolekcji zdefiniowanych w różnych plikach

  4. docker-compose wait-for.sh nie może czekać mongodb

  5. Jak zaktualizować _id jednego dokumentu MongoDB?