Database
324 results found
-
Allow changing compression of an existing collection
I'd like to switch my database from Snappy to Zstd compression.
Currently, it doesn't seem that it is possible to change the compression of an existing collection.
It would be nice if there were a way to do this, even if (for example) it required making a new replica set member which "re-compresses" the data to the new algorithm while cloning it.
As per SERVER-67726, the only way to do this today is to create a new collection and manually copy with mongodump/mongorestore. This doesn't seem to be a viable option, for uptime / data consistency reasons.
3 votes -
Support newer versions of JSON Schema in validation to be able to use the "if", "then", "else" and "const" keywords
Currently there is no way to have conditional schema validators because you can't use the "const" keyword in a "oneOf" or the "if", "then" and "else" keywords.
3 votes -
Support expressions in $densify range bounds
The $densify aggregation pipeline stage seems unable to evaluate range bounds expressions, requiring the range bounds to be constant.
See the following example (the collection testcoll contains a single documents with only the _id field):
…sometestdb> db.testcoll.aggregate([{$addFields: {a: 1}}, {$densify: {field: "a", range: {bounds: [0, 5], step: 1}}}]) [ { a: 0 }, { _id: ObjectId("6284a16d64553eaf74b1e189"), a: 1 }, { a: 2 }, { a: 3 }, { a: 4 } ] sometestdb> db.testcoll.aggregate([{$addFields: {a: 1}}, {$densify: {field: "a", range: {bounds: [{$toInt: "0"}, 5], step: 1}}}]) MongoServerError: A bounding array must be an ascending array of either two dates or
3 votes -
collection-level users should be able to list their collections
Currently users with collection-specific read or read/write permissions are not authorized to perform the following commands:
db.listCollections()
show collections
db.getCollectionNames()This impacts the shell (and also third party tools that won't let users access their permitted collections because the list of collections is blocked in the first place)
Suggestion:
Users with collection-specific read or read/write permissions should be able to run the above commands and the result would only present the collections for which the user has some read or write privileges (instead of blocking everything).
3 votes -
Add SSO authentication support to mongoDB database
Existing issue: One user has accounts in multiple mongoDB databases on Atlas that exist in different Projects and maybe Organizations as well. When he wants to switch from one database to the other from a 3rd party app, he has to provide his credentials every time.
Adding SSO authentication support to the mongoDB databases would add flexibility to a user like that, to switch from one database to the other without being asked for his credentials every time when connecting from a 3rd party application.
3 votes -
Update to two binding accounts in the config file for LDAP.
Please refer the Case: 00803199
We need to update to two binding accounts in the config file to for LDAP authentication so that we can avoid down time while resetting the binding account password.
3 votes -
delete logs number of days old
In the options for Mongo DB Log Settings, there is only
Max Percent of Disk
Total Number of filesA new option for
Number of Days to keepWould be useful
3 votes -
Deny Network Access to MongoDB Cluster
To improve network security, please create an option to Deny specific Network Adresses to MongoDB Cluster.
3 votes -
view on nested array
- It is quite common to have nested array in documents in MongoDB.
- It is also quite common to have to "flatify" those arrays in queries.
Here is an example where we have a collection with consultants and their professional experiences.
consultant [{ name:"Toto", age: 25, experiences: [{ role: "Sofware Engineer", from: "2010-01-01", to: "2012-01-01", company: "CompanyA" }, { role: "Data Analyst", from: "2018-01-01", to: "2020-01-01", company: "CompanyB" }] }]
If we would like to list all experiences at a company during a certain period of time, we would have to do an aggregate query with 3 steps that are sometimes…
3 votes -
Low latency Change Stream for Global Cluster in Atlas
our event-driven applications need to publish events to Kafka triggered by Change Stream feature. It works perfect in replicaset MongoDB cluster.
However, after migrating to Global Cluster in Atlas, the Change Stream cannot keep low latency because of ordering reason among shards.
The latency may go up to 20 seconds when for a single change event.It would be nice if application can receive Change Stream from the single shard only (not care about ordering among shards) to prevent latency.
The idea is to pass "location" options when starting the Change Stream cursor.
3 votes -
updateMany limit
When porting an application backend from an RDBMS to MongoDB, we've spoken to two people who've are looking for a way to specify a limit on the number of documents in .updateMany(). I understand the behavior cannot be defined on a sharded cluster, but if we had a way to do this on an unsharded collection, that would help when dealing with these teams.
3 votes -
Option to prohibit a non-voting member from becoming a sync source of a voting member
Hi,
Our proposition in a few words: add a replica set option to allow chained replication but with the following exception: a non-voting member cannot become a sync source of a voting member under any circumstance.
This proposition would allow chained replication for clusters having both w=majority writes and analytics nodes.
Right now, those clusters cannot safely enable chained replication, because under some circumstances, the non-voting analytics member may become the first secondary in a serial chain of replication. In that case, this node[*] slows down the replication process for all downstream secondaries. Higher replication lag translates to extremely slow…
3 votes -
Validation for referential integrity
Currently, with the JSON Schema validation, we are able to limit the values for a field using enumerations. However, we need to have a way to limit the values to those entered in another collection.
3 votes -
geoIntersects feature for 2D index
At Airbus, we would like to use geoIntersects feature with 2D Index.
We don't need 2DSphere Index, but we have to use it if we want to have geoIntersects avalaible.
As a consequence, we have to manage Spherical margins which introduces a useless and hard to maintain workaround in our product.
Could you please plan to implement geoIntersects and not only geoWithin with 2D Index ?
Thank you3 votes -
Automatic Indexes
MongoDB can already suggest useful indexes. Why not take the next step and allow MongoDB to autonomously create and manage indexes. Ideally it will automatically maintain the indexes over time as the structure and usage of the database changes.
3 votes -
Decouple "insert" privilege from implicit collection creation
MongoDB currently allows a user with the insert privilege on a database to implicitly create a new collection by inserting into it — even if the user lacks the createCollection privilege. This behavior makes it difficult to enforce strict access control policies, particularly in security-conscious or regulated environments.
In contrast, traditional SQL databases like PostgreSQL and MySQL enforce a clear separation:
The INSERT privilege applies only to existing tables.
A separate CREATE privilege is required to define new tables.We request that MongoDB introduce the ability to decouple insert from implicit collection creation, such as:
A new action like "insertExistingOnly",…
2 votes -
Coordinate Releasing Better
When Mongo releases a new version, the downloads, release notes, and version selection in the support portal are never in sync and sometimes out of sync for weeks.
An example right now is 7.0.20. It has been out for a while. If I update via my OS's package manager, I get 7.0.20. Is 7.0.20 in the release archive download page? No. Does it have any published release notes? No. Is it selectable in the Versions list at support.mongodb.com? No. In fact, 7.0.19 is still not selectable there.
This is very frustrating and causes a lot of workflow/process issues. For example,…
2 votes -
mongodump - add support for nsInclude/nsExclude
Currently mongodump supports the excludeCollection/includeCollection options but this requires the use of the --db option. It would be useful if mongodump was able to dump all databases, as it does by default, but also be able to specify a collection or collections not to dump.
2 votes -
Leveraging Group By/Distinct Query to use regular Index
When using Group By or Distinct queries on database, provide the ability to leverage existing index
i.e these queries today will miss using existing index
db.collection.distinct("field")
db.collection.aggregate([
{ $group: { _id: "$category", count: { $sum: 1 } } }
])2 votes -
Disallow new connections that don't specify an appName field
Currently as a DBA it's sometimes hard to identify which service is causing load on a shared cluster/database. Some people connect for adhoc workloads but don't specify an appName making it hard to track back to the owner. It would be useful to require appName for connections to a cluster to enforce this behavior.
2 votes
- Don't see your idea?