MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Изпълнение на персонализирана функция на MongoDB с помощта на Casbah/Scala

Има няколко начина за стартиране на произволен javascript код на сървъра. Можете да го предоставите като низ от клиента и да го изпратите на сървъра за оценка или първо да инсталирате функцията на сървъра, както е документирано тук:http://docs.mongodb.org/manual/core/server-side-javascript/

Функциите от страна на сървъра се регистрират за db, в колекция, наречена system.js.

И в двата случая можете да използвате командата db.eval(), за да извикате кода си, както е показано тук:

/* 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. MongoDB:ГРЕШКА:дъщерният процес е неуспешен, излезе с грешка номер 14

  2. Филтър за дати Mongoose

  3. MongoDB добавяне към полето за присъединяване на колекция от основното

  4. MongoDB сборен брой връщания от 0, ако няма документи

  5. Spring Data MongoDB:Преобразуване на BigInteger в ObjectId