Naming conflicts
- Last Updated: October 28, 2020
- 1 minute read
- DataDirect Connectors
- ODBC
- MongoDB 8.0
- Documentation
When you generate a relational schema with the Schema Tool, the driver exposes native
objects as unquoted, uppercase identifiers by default. Since native objects are case
sensitive in MongoDB, the driver avoids naming conflicts by appending identifiers which
have the same name but different cases with an underscore separator and integer (for
example, _1). If one of the conflicting names contains only uppercase
characters, that name will remain unaltered. For example, if the collections
Test, TEST, and test exist in the
native data, the driver will expose the collections as tables in the following
manner:
| Collection Name | Table Name |
|---|---|
Test |
TEST_1 |
TEST |
TEST |
test |
TEST_2 |
Alternatively, you can use UppercaseIdentifiers to retain the names of native
objects in the relational view of your data. When UppercaseIdentifiers is set to false, the driver maps the names of native objects as
quoted identifiers, maintaining the case of native object names in the relational view
of native data. For details, see "Using identifiers" and "Config Options" in the driver
documentation.
The remaining topics in this section discuss two specific naming conflict scenarios.