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

techniky pro ukládání knihoven v system.js mongoDB

Každý dotaz využívající JS může znovu použít nebo získat zcela nový kontext JS, do kterého se načtou uložené objekty JS. Abyste mohli dělat, co chcete, potřebujete buď:

  1. musí spouštět uložený kód automaticky při jeho instalaci
  2. mapreduce mít metodu init

První je rozhodně zajímavější funkce. Ukázalo se, že mongodb v8 to dělá automaticky (ale není oficiálně podporováno), ale ne oficiální sestavení spidermonkey.

Řekněme, že kód úložiště jako:

db.system.js.save({ _id: "mylib", value: "myprint = function() { print('installed'); return 'installed';" }

Ve verzi 8 pak můžete ve svém kódu volně používat myprint(), ale s SM byste museli volat mylib() explicitně.

Jako řešení můžete vytvořit jinou metodu:

db.system.js.save({ _id: "installLib", value: "if (!libLoaded) mylib(); libLoaded = true;" }

A zavolejte ji z vaší funkce map().

Vytvořený lístek za účelem standardizace motorů a umožnění automatického spuštění:https://jira.mongodb.org /browse/SERVER-4450




  1. mongodb:Struktura víceklíčového indexování?

  2. Použití Hibernate OGM s cloudem MongoDB Atlas M0 (bezplatná úroveň)

  3. vložte do vnořeného dokumentu s mongoDB

  4. MongoDB vnořeno NEBO/A kde?