MongoDB Connected System

Overview

The benefits of using this plug-in versus MongoDB’s REST API include:

  • Most common MongoDB operations are provided as low-code Integration objects, making it very easy to quickly integrate Appian and MongoDB
  • Uses connection pooling to reduce authentication time per operation
  • Uses the MongoDB Wire Protocol with BSON instead of HTTP/REST with JSON for more efficient communication
  • Automatically handles the conversion of MongoDB BSON Documents to Appian Dictionaries, or alternatively provides MongoDB-created JSON representation
  • Can import from and export to Appian Documents containing JSON
  • Configured using a single Connection String, which is masked and encrypted

Key Features & Functionality

Provides the following Integration Operations:

READ Integration Operations:

  • List Databases
  • List Collections
  • Collection Find
  • Collection Count
  • Collection Aggregate

WRITE Integration Operations:

  • Collection Find to JSON File
  • Collection Aggregate to JSON File
  • Create Collection
  • Create Index in Collection
  • Insert Many in Collection
  • Insert One in Collection
  • Update Many in Collection
  • Update One in Collection
  • Replace One in Collection
  • Delete Many in Collection
  • Delete One in Collection
  • Drop Collection

Provides a set of Expression Functions for easily generating MongoDB Query Expression JSON without creating rules or concatenating strings.

Anonymous
  • Hi, we are upgrading our MongoDB version from 4.4 to 6. Are there any issues regarding the usage of the plug-in?

  • How to use mongo db syntax in appian "db.students2.updateOne({ },{ $set: { "grades.$[elem].mean" : 100 } },{ arrayFilters: [ { "elem.grade": { $gte: 85 } } ] })"

    Error received: Error code 2: No array filter found for identifier 'elem' in path.

  • hi all,
    while using this plugin to find matching records for given date condition am getting an error.
    please find my code below and kindly help me resolve this issue: 

    a!toJson({

    {'$match': {

    'ruleUuid': {
    '$in': {ri!ruleUuid}
    },
    'dQExecutionDate': {
    '$gt' : ISODate (ri!fromDate)
    }

    }}
    })

    error-result-label

    Expression evaluation error : The function 'isodate' is unavailable.

    Without ISODate object who can we apply filter on date field? Is there any other approach?

    Note the plugin version which we are using is 1.3.1

  • v1.3.1 Release Notes
    • Bug fix in M_Query()
  • v1.3.0 Release Notes
    • Minor bug fixes; security updates

  • v1.2.0 Release Notes
    • Fixed a bug in M_Eq() where Appian TypedValues were not being handled correctly

  • I will take a look at this and submit an update asap.

    For now you can work around it by constructing the JSON via standard expressions. Tip: to use special characters in Dictionary key names, surround the value with single-quotes like so:


    a!toJson({ status: { '$eq': "Completed" } })

  • Dear Team,

    While testing this plugin we could see that the filter Collection  type on the field does not work correctly.. here is an example:

    Input

    m_query(
      {
        m_field(
        "status",
        m_eq(
          "Completed"
        )
      )
      }
    )

    Expected : "{ "status": { "$eq": "Completed" } }"

    Actual : "{ "status": { "$eq": "TypedValue[it=3,v=Completed]" } }"

    Any idea why the text "TypedValue[it=3,v=" is getting added to the request while making call to MongoDB ?

  • Release Notes - v1.1.0.1
    Updated the MongoDB Java Driver to 3.12.1

  • Dear All.. this plugin givens below error on Appian 21.1 - 

    HTTP Code: 500 APNX-1-4198-000 Error Evaluating UI Expression Expression evaluation error [evaluation ID = 6W80DO0P] : [valid:false,syntaxError:false,value:Expression evaluation error: An error occurred while executing a save: java.lang.NoClassDefFoundError: Could not initialize class sun.net.dns.ResolverConfigurationImpl]

    I know its not tested on 21.1, so just want to check if this is a plugin problem or a problem with my configuration ? Any one who has tried this plugin on non tested Appian version please share your feedback.