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

techniki przechowywania bibliotek w mongoDB's system.js

Każde zapytanie używające JS może ponownie użyć lub uzyskać zupełnie nowy kontekst JS, do którego ładowane są przechowywane obiekty JS. Aby zrobić to, co chcesz, potrzebujesz:

  1. mongod do automatycznego uruchamiania zapisanego kodu podczas instalacji
  2. mapreduce, aby mieć metodę init

Pierwsza to zdecydowanie bardziej interesująca funkcja. Okazuje się, że kompilacja mongodb v8 robi to automatycznie (ale nie jest oficjalnie obsługiwana), ale nie jest to oficjalna kompilacja spidermonkey.

Załóżmy, że przechowujesz kod taki jak:

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

Następnie w wersji 8 możesz swobodnie używać myprint() w swoim kodzie, ale w przypadku SM musisz jawnie wywołać mylib().

Jako obejście możesz utworzyć inną metodę:

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

I wywołaj to z funkcji map().

Utworzony bilet w celu standaryzacji silników i umożliwienia automatycznego uruchamiania:https://jira.mongodb.org /przeglądaj/SERWER-4450




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. usuń osadzony dokument w mongoid

  2. nie można połączyć się z serwerem 127.0.0.1 shell/mongo.js

  3. Nie mogę połączyć się ze zdalnym serwerem mongodb z django/djongo

  4. Jak wybrać dane z podanym warunkiem

  5. Zwracanie pól niestandardowych w MongoDB