Drivers
77 results found
-
It will be helpful to provide Sock Proxy support for our drivers
Some customers have security policy restriction to directly connect to Atlas. So it will be helpful for them to use sock proxy to connect.
6 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 -
4 votes
-
Provide a mechanism for specifying default database name in connection string
According to https://jira.mongodb.org/browse/GODRIVER-914 the connection string is only meant to specify the auth database. However, many of the official MongoDB drivers and tools also use the database specified in the connection string as the default if commands are run without specifying a database name.
The Go driver should either mirror this behaviour found in other drivers, or a parameter should be added to the connection string to allow a default database to be explicitly defined.
2 votes -
Expired Transactions failures should be reported more clearly in the driver error message
Long-running transactions may trigger an aborted transaction, but the cause is not clearly communicated by the driver exception message.
Failed: Command insert failed: Transaction 1 has been aborted..
Unhandled exception. MongoDB.Driver.MongoCommandException: Command insert failed: Transaction 1 has been aborted..To reproduce, set a very low timeout:
replicaset:PRIMARY> db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 1 } )
Then run a long running transaction from the C# driver.
The cause can be confirmed by checking the MongoDB log for a [abortExpiredTransaction]:
replicaset:PRIMARY> show log global
2020-07-31T03:59:49.196+0000 I COMMAND [abortExpiredTransactions] Aborting transaction with txnNumber 1 on session xxxxxx because it has been running for…
2 votes -
CSFLE - Enable automatic decryption of change streams
Currently change streams are disabled when a CSFLE MonogClient() session is used.
This is due to this CSFLE specifications.Mongocryptd will not support “collectionless” aggregation metadata sources, which read metadata that doesn’t pertain to a particular collection. The drivers should not contact mongocryptd for such commands, since they don’t have a particular schema to pass to mongocryptd, so it is the drivers’ ultimate responsibility to return an error to the application for the collectionless aggregation metadata sources:
$currentOp $changeStream for watching a database or the whole cluster $listSessions $listLocalSessions
Enable auto decryption and change streams in the presence of auto-encryption-settings
2 votes -
Create MSI package to install .NET MongoDB driver
I manage SQL Server. I would like to request standalone 32 and 64 bit MongoDB .Net Driver in MSI format. We typically do not install Development tools on SQL Server database hosts (no visual studio, no nuget.exe). So downloading the driver using package manager is challenging. If that is not possible, can you provide us how to download and install the driver using Powershell?
1 vote -
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 -
Add non-EJSON as option for json utils
python and other drivers offer to-json utils. This makes taking a native rich shape complete with datetimes and byte[] and such and easily turning into bson (the best way!) or JSON. The utils offer options to modify the output representations of types but always do so in an EJSON way, namely with $date/$numberDecimal etc. Sometimes a consumer cannot (or will not) accept data in this fashion. I'd like to see a "safePureJSON" option (or similar) for bson.json_utils.dumps() that emits the safe string or number equivalent of the EJSON.
fld: {$date: "ISOdate"} becomes fld: "ISOdate"
fld: {$numberDecimal: "99.9"} becomes fld: "99.9"…1 vote -
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 -
Ignore unmapped fields in pojo deserialization
A recent ticket (00664772) with the mongodb support team confirm that the following case is not handled by the Java driver:
class Foo {
int x;
int y;
}I can successfully write and read it. However, if the Document has extra fields, it cannot be deserialized and no option exists to allow this behavior:
{ x:123, y:456, z:789 } // why can't I ignore 'z'?
My suggestion is, provide an annotation to support this behavior:
@BsonIgnoreUnmappedFields
class Foo {
int x;
int y;
}1 vote -
Add support for SSH Tunnel
Similar to the request for SOCKS proxy support, it would be good to add support for SSH tunnels for drivers (since Compass supports this already).
This can be useful for developers working remotely when company policy disallows whitelisting home IP addresses.
1 vote -
Have option to auto add/update timestamp
It would be great if driver can auto update createdat and updatedat timestamp/date
1 vote -
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 -
A tool to test the connection that can fix resolution issues in server selection
This is probably not Node Specific a general problem with connecting via a seed list.
ServerSelection via seed list is a great concept. It works poorly. I have attached an hour of starting a working webserver app and 30 times starting it in a little over an hour. It failed to connect over 40 % of the time. A larger amount of successful connections were made over 35 seconds which means they would fail in a hosting environment like Heroku. Only 10% of the time did it connect in < 6 seconds. Your support team is avoiding using seed lists…1 vote -
if drive can deal with DateTime.Date,it will be useful
we offen have this require,we need to compare DateTime field on Date(exclude time),but if use drive compare with DateTime.Date,drive will throw a exception tell us dont support..
db.CheckOns.Find(x => x.RecordTime.Date == new DateTime(2020, 3, 19)).ToList();
//public DateTime RecordTime{get;set}2 votes -
use ConventionPack in aggregate same as find
for example :We want save string value of Enum to database,we set EnumRepresentationConvention Convention.
then we can use it in match. but in aggregate group,it dosent work:public enum Gender { Male,Female}
public class Person
{
public int Age { get; set; }
public Gender Gender { get; set; }
}
[HttpGet("test")]
public object Test()
{
var query=db.database.GetCollection<Person>("persons").Aggregate().Group(x => x.Age,g=>new {
g.Key,
MaleCount=g.Sum(x=>x.Gender==Gender.Male?1:0),
FemaleCount = g.Sum(x => x.Gender == Gender.Female ? 1 : 0),
});
var queryString = query.ToString();
return queryString;
}
//queryString will be: aggregate([{ "$group" : { "id" : "$age", "MaleCount" : { "$sum" : {…2 votes
- Don't see your idea?