MongoDB Adapter
This adapter represents a MongoDB adapter for authentication and CRUD operations. It can be used the query and manipulate collections and nested arrays inside of collections.
Getting Started
Host, port, authentication database and database must be configured (authentication database and database can be equal)
Username and password must be provided (anonymous usage is not supported)
Class mapping keys for root documents must always start with the collection name:
Class mapping keys for nested arrays must include the nested path prefixed by a $: $
Class mapping keys for multiple nested arrays must be separated by a #: $#
Nested paths cannot be skips, thus for a double nested array three classes must exist (root, nested and nested in nested)
Field mapping keys must always be relative: (for root documents and nested arrays)
Field mapping keys for nested documents must be separated by a dot .
Field mapping keys for parent fields must be absolute prefixed with by a $: $
Field mapping data types must match (see data types for more)
ID fields as identity must be present for all classes (must be unique; can be any data type)
Parent fields must be present for nested arrays and should be identical to the parent class ID field
Parent fields should be read-only (there will not be updated or inserted anyway)
Data types
(see https://docs.mongodb.com/manual/reference/bson-types/ for more)
Platform/Source
other
double
string
objectId
bool
date
int
long
decimal
Other
Error
Error
Error
Error
Error
Error
Error
Error
Error
Guid
Error
Error
Parse
Error
Error
Error
Error
Error
Error
Boolean
Error
Error
Parse
Error
Value
Error
Error
Error
Error
String
Error
Parse
Value
Parse
Parse
Parse
Parse
Parse
Parse
DateTime
Error
Error
Parse
Error
Error
Value
Error
Error
Error
Integer
Error
Value*
Parse
Error
Error
Error
Value
Value*
Value*
Byte
Error
Value*
Parse
Error
Error
Error
Value*
Value*
Value*
Short
Error
Value*
Parse
Error
Error
Error
Value*
Value*
Value*
Long
Error
Value*
Parse
Error
Error
Error
Value*
Value
Value*
Float
Error
Value*
Parse
Error
Error
Error
Value*
Value*
Value*
Double
Error
Value
Parse
Error
Error
Error
Value*
Value*
Value*
Numeric
Error
Value*
Parse
Error
Error
Error
Value*
Value*
Value
Char
Error
Value*
Parse
Error
Error
Error
Value
Value*
Value*
Value = value used
Value* = value used, fails on data loss
Parse = string parsed, fails on format error
Error = fails always
Examples:
Class "Project" mapped to "projects" with the following fields:
Platform key
Platform type
Source key
Source type
Other
ID
String
_id
objectId
identity
Title
String
title
string
Start
DateTime
period.start
date
End
DateTime
period.end
date
Class "Task" mapped to "projects$tasks" with the following fields:
Platform key
Platform type
Source key
Source type
Other
ID
String
_id
objectId
identity
ParentID
String
$_id
objectId
read-only
Title
String
title
string
Description
String
description
string
RemainingWork
Integer
remainingWork
int
Class "Comment" mapped to "projects$tasks#comments" with the following fields:
Platform key
Platform type
Source key
Source type
Other
ID
String
_id
objectId
identity
ParentID
String
$tasks._id
objectId
read-only
Content
String
content
string
Sample document in collection "projects":
Capabilities
Authentication
User will be authenticated to the authentication database configured
The connection string is entered directly. The connection string must not contain the credentials and the step must mention that the credentials will be added by the adapter.
Data
Documents will not be inserted through create, but through update new
All read methods are not implemented, since they are not used when the query capability is present
Insert, update and delete differs heavily between root documents and nested arrays
To effectively manage CRUD operations a special mapping is provided
Data times will be converted to local culture (MongoDB saves them always as UTC)
Query
The logical operator
And
takes priority overOr
in execution orderCondition values are given as strings and thus converted using the local culture
Last updated