Database
287 results found
-
throttle sessions which use too much resources
We have different types of applications :
1. Writer - to load data into mongodb from different data sources
2. Reader - to read data and display to end user.Normally, there is strict SLA for reader , but no SLA (or less restricted) for writers. We want to make sure that writer will not impact reader in case when for some reason a lot of data arrived from external sources. So, we would like to slow down writers for the sake of readers.
Writers can saturate CPUs and IO, that's why we want an option to leave some room…
1 vote -
Add hash function (eg. md5) to aggregation pipeline
I would like to implement hash-based sharding in my own application on top of MongoDB. For that purpose, I would like to pull a stable pseudorandom subset of documents into each of my servers, and I would like to do so without enlarging the documents by adding additional fields, and without using JavaScript in the aggregation pipeline (for performance reasons).
The idea: add a hash function, such as md5, to aggregation pipelines. The function would accept an object/array containing the data to be hashed, and would return the hash, ideally as a number.
1 vote -
$dateDiff operator should be useful to calculate age
In the documentation it says: " For example, two dates that are 18 months apart would return 1 year difference instead of 1.5 years.". But if startDate is 2021-08-01 and endDate is 2023-02-01, the result is 2 years difference. I think it should be good if this operator could be used to calculate the age.
1 vote -
$currentDate option to only update if the document was modified
A common pattern in a data model is to have a field that denotes when the data was last modified. For this example, let this field be called "updated". I want to toggle a field on a document called "enabled", and if the value is modified I also want to update the "updated" field.
This behavior is possible right now via a comment shown in SERVER-42084, but ONLY if we include the entire document, which is not acceptable when you only want to modify a single field. This document could have other fields that are numeric and are updated atomically,…
1 vote -
Improve sorting performance
Sorting always ends up doing a collection scan when the selected index for the find/match does meet the sort requirement. The sort effectively makes the performance worse by 15-25 times for the "matched" dataset which runs into 10s of thousands (not millions) of documents
1 vote -
Implement $bucket and $group on indexed values with sub-linear runtime
We noticed that sum $bucket and $group aggregations such as $min, $max, $count are unexpectedly slow even when fully covered by an index, (partially) because the DB scans through the entire index rather than employing optimization approaches such as binary search.
An example pipeline that should return instantaneous but scans through the entire index (confirmed on v4.4 and v5):
[
{
$match: {
status: "DELIVERED",
},
},
{
$group: {
id: {
status: "$status",
},
min: {
$min: "$modifytime",
},
},
},
]
with an index { status: 1, modify_time: 1}Another example is $bucket (same index):
[
{…6 votes -
Support compound/multiple grouping keys in $bucket
We often need to compute statistical/summarizing aggregations grouped by more than one field where all fields are of a $bucket-able type.
An example, would be to count all orders grouped by their status and some custom time ranges of their creation date.
This can be achieved by using $group in combination with a $switch expression (sometimes simplified with $trunc), however, that is cumbersome and prevents efficient grouping since e.g. no binary search can be employed to identify the bucket boundaries efficiently.The query syntax of $bucket would not need to change much. It would simply need to allow for nested…
6 votes -
Build MongoDB with PGO
I would like to see support for PGO (and even LLVM Bolt) in the upstream. Would be awesome if MongoDB will distribute PGO-optimized binaries, so the users will be able to see an additional performance boost "for free". At least describe to the users somewhere in the documentation, how they could achieve a boost for their own scenarios with PGO.
1 vote -
UTF 16 and UTF 32 support
Currently MongoDB only support UTF 8 strings but it will be great if there is a configuration to change UTF 16 or UTF 32.
1 vote -
Use a private peering that resolves to the private IP address of your LDAP server.
We need to consume an LDAP server traffic through Private Endpoints. In the documentation we find that only creating a public endpoint it's possible but we have a security restriction. Our TAM suggested create a feedback request to the product owner.
tks!4 votes -
sharding error shardsvr
Make it clear which node is causing the "shardsvr" error.
Spawned from support case 01042995
Our error occurred when the user tried to connect using Compass. The failure was to list the collection names on one database.
The error presented back to the user was merely
Cannot accept sharding commands if not started with --shardsvr
We found eventually that the primary changed on one of the shards, and that primary did not have the appropriate
clusterRole
in the mongod.conf file. My concerns are that this took too long to track down and would be impossible in a 100-shard environment.- Nothing…
6 votes -
Nanosecond timestamp support
I've put this under the time series category since that's where it's most applicable, but it's really a data model / BSON issue.
The topic of higher resolution timestamps have been surfaced from time to time for at least a decade (https://jira.mongodb.org/browse/SERVER-1460), and usually prompts a response like "just use integers". With the addition of time series collections however, where the concept of time is integral to database functionality, I think it's time to reconsider adding a type with at least nanosecond precision timestamp support. Date's millisecond resolution is woefully inadequate for a number of relevant use cases,…
9 votes -
maintenance period per cluster
There are some times when a maintenance is potentially super disrupting such as when node replacements occur due to AZ rebalancing. It would be nice if we can set the maintenance period per cluster vs per project to be able stagger maintenance periods. so that not every cluster goes under such disruptive maintenance.
0 votes -
Make consistent use of system-wide CA certificate store
Please make the use of system-wide CA certificate store the same in all tool/commands.
If
tls.CAFile
is not specified inmongod/mongos
configuration then the system-wide CA certificate store will be used.If
--sslCAFile
is not specified inmongoimport/mongoexport
tool then the system-wide CA certificate store will be used - but this behavior is not documented.For
mongosh
you have to specify option--tlsUseSystemCA
is you like to use the system-wide CA certificate store. I did not check how it is/was working in legacymongo
shell.For command
Mongo()
(https://www.mongodb.com/docs/v6.0/reference/method/Mongo/), I was not able to find out, how to…
1 vote -
How to limit the number of document updates?
Hi
I want to limit the number of document updates in one command.for example
db.users.updateMany(
<filter>,
<update>,
{
limit : 100
}
);https://www.mongodb.com/community/forums/t/how-to-limit-the-number-of-document-updates/102204/3
24 votes -
prometheus metrics availablity through privatelink
until now is only possible to get metrics from public or private peered vpc but is not actually possible through privatelink. Since privatelink are used most of the time for security reason this limitation leads to find compromises or workaround to customers
16 votes -
Clustered Collection TTL on _id should support ObjectId.
Clustered Collections have the ability to expire on the _id field, this would be really helpful if it could use the timestamp portion of the ObjectId.
1 vote -
Compound clustered index
Now it is possible to create a clustered index for only one field. Since documents can be arranged in ascending order of multiple fields, I see no reason to disallow a clustered index from being a compound.
Expected syntax:
create_collection('testVCFcoll', clusteredIndex={'key': {'_id': 1}, 'unique': True, 'name': ['#CHROM', 'POS']})
3 votes -
Need an array query operator like elem match which matches all array nested object instead of at least one array element
as per documentation elem match query matches at least one match in array of nested object,
same we need a array query operator which returns the whole document only if elem match like criteria matches all elements in array of nested objects.
I have gone through usecase of $all with $elemMatch but it behaviour different it is like $and with $elemMatch instead excepted behaviour i am asking or excepting mentioned earlier.
https://www.mongodb.com/docs/manual/reference/operator/query/all/#use--all-with--elemmatch
https://www.mongodb.com/docs/manual/reference/operator/query/elemMatch/1 vote -
Please upgrade third_party/mozjs to esr 102
for new cpu isa (loongarch64/loong64) support , Thanks
1 vote
- Don't see your idea?