Function: Advanced Sub-Document LOOKUPIN Operation

      +

      Perform the Advanced Sub-Document LOOKUPIN operation on a field where Eventing interacts with the Data Service.

      The advancedLookupInField function:

      • Demonstrates the CAS-free Sub-Document LOOKUPIN operation on a document field

      • Requires Eventing Storage (or a metadata collection) and a source collection

      • Requires a binding of type bucket alias

      • Operates on any mutation where the meta.id or KEY starts with lookupinfield:

      For more information about the Advanced Sub-Document LOOKUPIN operation, see Sub-Document LOOKUPIN Operation.

      • advancedLookupInField

      • Input data

      • Output data

      // Configure the settings for the advancedLookupInField function as follows:
      //
      // Version 7.6+
      //   "Function Scope"
      //     *.* (or try bulk.data if non-privileged)
      //   "Listen to Location"
      //     bulk.data.source
      //   "Eventing Storage"
      //     rr100.eventing.metadata
      //   Binding(s)
      //    1. "binding type", "alias name...", "bucket.scope.collection", "Access"
      //       "bucket alias", "src_col",       "bulk.data.source",        "read and write"
      
      function OnUpdate(doc, meta, xattrs) {
        if (meta.id.startsWith("lookupinfield:") === false) return;
      
        var meta = { "id": meta.id };
        var res;
        var opcnt = 1;
      
        res =
          couchbase.lookupIn(src_col, meta, [
            couchbase.LookupInSpec.get("<doc_path_0>", {"xattrs": false}),
            couchbase.LookupInSpec.get("<doc_path_1>")
          ]);
        log(opcnt++,res);
      }
      INPUT: KEY lookupinfield:001
      
      {
          "id": "lookupinfield:001",
      }
      2024-03-15T14:42:53.314-07:00 [INFO] 1 {"meta":{"id":"lookupinfield:001","cas":"1710538973313433600"},"success":true}
      
      2024-03-15T14:42:53.316-07:00 [INFO] 2 {"meta":{"id":"lookupinfield:001","cas":"1710538973315596288"},"success":true}
      
      2024-03-15T14:42:53.317-07:00 [INFO] 3 {"meta":{"id":"lookupinfield:001","cas":"1710538973316841472"},"success":true}