sql >> Databáze >  >> NoSQL >> MongoDB

Načtení délky seznamu v MongoDB

Nyní bych mohl uvažovat dvěma způsoby:

1) Použití agregačního rámce:

db.log.aggregate([ { $unwind : "$entries" }, { $group : { _id : "$_id", entries : {$sum:1}  } }  ]);

2) Nebo můžete do dokumentu přidat pole, které obsahuje počet položek. Takže pokaždé, když vložíte novou hodnotu do pole položek, musíte zvýšit čítač. Aktualizace bude vypadat takto:

db.log.update({ _id : 123 }, { $push : { entries : 'value' }, $inc : { entriesCount : 1 } })

Je zřejmé, že zde máte kompromis:agregační rámec je pro tuto jednoduchou operaci příliš drahý. Ale přidáním pole do dokumentu by každá aktualizace měla zvýšit počítadlo.

IMHO, počítadlo vypadá rozumněji, i když to vypadá jako řešení.



  1. Selhalo spuštění redis.service:Jednotka redis-server.service je maskovaná

  2. Nelze načíst soubor nebo sestavení System.Runtime.CompilerServices.Unsafe

  3. může více klientů přistupovat ke stejnému seznamu současně, aniž by byli blokováni v Redis?

  4. Vytváření nových sbírek Meteor za běhu