Drivers
-
official Dart driver
We use mongo in weebi Dart / Flutter application.
We would be eternally grateful if you could implement an official Dart Driver,
There is already an unofficial mongo dart repo :
https://github.com/mongo-dart
The specific feature we need is Ejson
https://github.com/mongo-dart/bson/issues/29Thank you for building a great tool
73 votesPlease see our most recent realm release and let us know your feedback. https://github.com/realm/realm-dart
-
Support for EKS Service Account Credentials in MONGODB-AWS
Support for EKS Service Account Credentials in MONGODB-AWS
It would be great to be able to authenticate to MongoDB using EKS service accounts.
Currently, the order in which Drivers MUST search for credentials is:
Credentials passed through the URI
Environment variables
ECS endpoint if and only if AWS_CONTAINER_CREDENTIALS_RELATIVE_URI is set.
EC2 endpoint
(https://pymongo.readthedocs.io/en/stable/examples/authentication.html#mongodb-aws)It is possible use the AWS_ROLE_ARN and AWS_WEB_IDENTITY_TOKEN_FILE environment variables injected into the pod by EKS to assume the service account role and get temporary security credentials, which could then be passed to the uri as described in AssumeRole (https://pymongo.readthedocs.io/en/stable/examples/authentication.html#assumerole).
The boto client…
29 votes -
Create Atlas Search helper method for aggregations in java
Java driver doesn’t include a {{search()}} helper method in the Aggregation class, for facilitating Atlas Search queries.
While it's possible to build a custom pipeline which includes a
{ $ search ... }
stage, a dedicated helper method would be convenient.28 votes -
CSFLE - Integration with more KMS providers like Hashicorp Vault
Automatic CSFLE - To generate and manage the Customer Master key, can we add more KMS providers like Hashicorp Vault. KMS providers currently supported are only: Amazon Web Services KMS and Locally Managed Keyfile.
To work with Hashicorp Vault, it seems, we need to choose Locally Managed Keyfile as the KMS provider. This means that the Master key will be fetched from Vault in memory and then used in the code to encrypt/decrypt the DEK (Data Encryption Key). Ideally, the decryption of DEK should happen in the vault itself as a best practice, and master key should not be brought…
13 votes -
Add a Kotlin Driver
There should be an official Kotlin driver
11 votes -
Estimated Filtered Count
Hi,
We are currently using a pattern where we use a find(query).limit(x) and a count(query) with $near to find x results and display the overall count. Using this pattern, we are able to pass the same query to find and count. However that count method was removed in SCALA-517 and replaced by estimatedDocumentCount and countDocuments. The problem is that countDocuments will not work with $near. There is a workaround to use $geowithin with $center/$centerSphere, however this doesn't return the results sorted as $near did. We would like to have the option to pass the same query to count as we…
10 votes -
geoContain
Dear all,
according to the attached image, I have some documents (in blue, with id from 1 to 5) having a geographic extent and a search area (in yellow).
I need to find all documents where search area is completly inside the document's geometry.
Using different words, I need to find all documents where geometry completly covers the given search area.
In my sample, the geo query should return the document with id 1.
This kind of query has a opposite logic than the $geoWithinCould you provide a $geoContain functionality in the next future?
9 votes -
csfle support for zOS
Please modify your drivers so our java applications can encrypt and decrypt from the mainframe (zOS) UNIX environment. This missing feature is a road-block to our migration to Atlas.
We have multiple Java applications that run on an IBM mainframe. Those applications read and write into MongoDB collections, like inserting Mainframe data into MongoDB collections. The mongo-crypt driver for CSFLE does not work on the Mainframe UNIX environment.
Company policy states we have to encrypt all PHI/PII data prior to inserting the data into Atlas.
I had opened a support ticket with MongoDB and the final reply was you do…
7 votes -
CSFLE - Encryption of fields within an Array Object instead of whole Array
CSFLE - Can you provide Encryption of fields within an Array Object as part of mongo-crypt library in the future releases. current library encrypts the whole array and we are not able to do queries within the Array object.
6 votes -
Compressed Fields
When large JSON structures are being stored but don't need to be queryable it may be more performant to handle the compression at the field-level as opposed to the network level (similar to what is described in https://medium.com/idealo-tech-blog/advanced-mongodb-performance-tuning-2ddcd01a27d2).
This would isolate compression and decompression on the client side (unless network compression was used as well), however the compressed field would be persisted as-is (compressed) to the cluster.
5 votes -
Create an official Elixir driver
See https://github.com/elixir-lang/elixir and https://elixir-lang.org/
Thank you!5 votes -
Allow custom service names with mongodb+srv URI scheme
We are using DCOS (marathon/mesos) to manage our services. DCOS generates SRV records for our mongos instances under a record that looks like
mongos-mongodb.tcp.marathon.mesos
However, there's currently no way for me to use this because when I provide a connection url likemongodb+srv://mongos-mongodb.tcp.marathon.mesos
the drivers prepend "mongodb.tcp" to the provided url. It's not clear why it's required that the host must start with "mongodb.tcp". Why not let the user specify the actual DNS entry to query?I believe the same issue will exist for multiple orchestration frameworks such as Consul/Nomad and Kubernetes.
5 votes -
add deno driver
(i was forced to select a category so i choose nodejs)
Deno is coming https://deno.land/
From the creator of nodejs. Better than nodejs.
5 votes -
For Client Side Field Level Encryption (CSFLE) load IAM credentials for KMS by default
In order to get the mongodb csfle lib to work with AWS KMS we need to set
the following provider details explicitly: accessKeyId and secretAccessKey.It is common and more secure practice for applications to be able to load these automatically.
If we do not supply the accessKeyId and secretAccessKey then the java driver could make an API call to
retrieve temporary credentials from the EC2 instance it is running on.It is explained in detail here:
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/iam-roles-for-amazon-ec2.html4 votes -
official Julia driver
Would love to see an official Julia driver.
4 votes -
Dynamic Configuration Changes for Connections
We would like to suggest a feature improvement where connection parameters can be dynamically changed so that no restart of client application infrastructure is needed.
Currently, when changing connection configuration, this usually requires the restart of a considerable number of pods or containers with the unavoidable consequence of a sudden surge in connection attempts.
Our request specifically would be to provide a way for drivers to read both connection string and connection parameters information from a source that can be easily managed and that's not necessarily embedded in the code, and
Drivers should also detect when this configuration has changed…
3 votes -
BsonIgnoreIfEmpty - Property Attribute
Like BsonIgnoreIfDefault and BsonIgnoreIfNull, we can add BsonIgnoreIfEmpty.
It can be added on IEnumerables (which we basically know they cannot have infinite values since it is inserted to db after all..) and if the IEnumerable is empty, it wont serialize it to the db BUT will know to put default value (an empty list for example) in said property.They will decrease below boilerplate code for IEnumerable<T>:
Serialization:
Field = otherField?.count > 0 ? otherFIeld : null;Deserialization:
otherField = Field ?? new List<T>;Obviously, we can improve this code to also support Dictionary<Tkey, Tvalue>.
3 votes -
3 votes
-
F# Driver
We would like to use MongoDB with F#. There was a brief of prototype solution archived in github but was abandoned. The project I am talking about is https://github.com/mongodb-labs/mongo-fsharp-driver-prototype/pulse
This is an official request for F# driver.
3 votes -
Create / Update LabVIEW Driver
There seem to not exist any official LabVIEW Drivers / VIs for MongoDB.
There do exist some LabVIEW VIs for MongoDB that work very well based on a C# DLL:
https://github.com/RBXSystems/mongo-labview-driver/tree/master/CSharp/bin.However those only work with older MongoDB Versions and I can`t get them to work with Atlas and the most recent MongoDB Version 4.2, I guess the DLLs need to be updated (and depending on the changes of the API also some of the VIs)
3 votes
- Don't see your idea?