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

Wykonywanie funkcji niestandardowej na MongoDB przy użyciu Casbah/Scala

Istnieje kilka sposobów na uruchomienie dowolnego kodu javascript na serwerze. Możesz dostarczyć go jako ciąg znaków od klienta i wysłać go na serwer w celu oceny lub zainstalować funkcję najpierw na serwerze, zgodnie z dokumentacją tutaj:http://docs.mongodb.org/manual/core/server-side-javascript/

Funkcje po stronie serwera są rejestrowane na db, w kolekcji o nazwie system.js.

Tak czy inaczej, możesz użyć polecenia db.eval() do wywołania kodu, jak pokazano tutaj:

/* Call like so:
     evalJavascript(myDB, "function (oid) { return coll.find({_id: oid}); }", someObjectId)
*/
def evalJavascript(db:MongoDB, func: String, args: String*): Validation[String, Object] = {
  val result = db.command(Map(
    "eval" -> func,
    "args" -> args.toList
  ));

  if (result.ok) {
    result.get("retval").success
  } else {
    result.getErrorMessage().failure
  }
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak przerwać zapytanie w powłoce mongo JavaScript?

  2. Problemy z konfiguracją użytkowników i połączeniem z Mongo za pomocą PHP

  3. Usuwanie poddokumentu z tablicy w MongodDB

  4. MongoDB:Problemy z użyciem $concat do aktualizacji wartości pola

  5. Analizuj wydajność zapytania - mongoDB