Database
295 results found
-
Add Event Stream Features (Apache Kafka, NATS Streaming)
I thought it would be great if mongodb can support an event streaming(event bus) feature.
Existing popular event streaming services(AWS Kinesis, NATS Streaming, Apache Kafka) can persist data which is somewhat like a database.Its great for debugging, data logging for later uses such as machine learning. Since I can see the full flow of the data and its changes.
But there are two downside with most even streaming services.
1. Its very difficult to query the data.
2. "Eventual Consistency" issue when dealing programmatic errors(bugs). Most event streams have this nice feature, which keeps sending the same event to…2 votes -
Performance problem with compound index using doubles, with range filtering
It looks like there may be a problem when using doubles in a compound index and using range-test filters against all of them in a query.
The problem we see from the explain plans is that far more keys are being examined that there should be and this leads to poor performance.
If we switch to using a similar setup but with integers instead, we don’t see the problem.See the second part of this ticket for full details
https://support.mongodb.com/case/00659614
We have a document that looks like this –
{
"id" : ObjectId("5e2ab24eca314f10b486d827"),
"attributes" : [
{
"attributeCode" :…2 votes -
Too many keys in 2dsphere index when used on geoJson within arrays
Mongo support have asked me to raise this bug as an improvement idea because they see it as an edge case.
The issue is here and includes more details:https://support.mongodb.com/case/00659614
In summary, if you have a geoJson sub document that sits within an array, and you index it using the 2dspehere index, you get keys duplicated for every element in the array.
For example, if you have geoJson that represents a big 4,500 vertex polygon, and you put it within an array element, if the array has only one element I see 20 keys generated, which is good. But if…
2 votes -
Making Elections Faster.
Election is an expensive operation. We can avoid the elections if we can enforce some priority-based ordering on who shall become primary if the current primary fails.
Specifically, we can keep a node with second highest priority in the data center of the most preferred primary. Usually, the network failures within the data centers are less probable than across the data centers. So, it is reasonable to believe that if the second preferred member loses the contact with current primary, it is the primary node which has failed and not the network. As a supplement, we can also have redundant…2 votes -
Is there any limitation on size of query in pipeline (character in query, not data)
I have an aggregate query, when the character in pipeline over 21066 character, the result return wrong format that the pipeline expected. So I wonder is there any limitation on size of query in pipeline?
My case is:
Query: [
"$match":{"profileID": {"$in": ['', .....]}},
{"$group":{"_id":"$profileID","materialLevel2":{"$sum":{"$cond":[{"$and":[{"$eq":["$expenseL2","true"]},{"$eq":["$expenseL3","false"]},{"$eq":["$expenseL4","false"]}]},1,0]}},"materialLevel3":{"$sum":{"$cond":[{"$and":[{"$eq":["$expenseL3","true"]},{"$eq":["$expenseL4","false"]}]},1,0]}},"materialLevel4":{"$sum":{"$cond":[{"$eq":["$expenseL4","true"]},1,0]}}}}
]The true result is:
[{
"_id" : "000.03.50.H29",
"materialLevel2" : 1.0,
"materialLevel3" : 1.0,
"materialLevel4" : 2.0
},...]But when the length of query greater than 21066 character, the result of query is:
[{
"profileID" : "00.00.00.PTT",
"expenseL2" : "true",
"expenseL3" : "true",
"expenseL4" : "false"
},....]Thanks!
1 vote -
Support concise correlated queries for $graphLookUp
Similar to $lookUp, support concise correlated queries for $graphLookUp.
It would allow adding a $project stage to reduce overhead.
1 vote -
Capture pre-images for ONLY specified change events
Currently, pre-images are captured for all updates, replacements and deletes on a given collection.
Ask: Enable capture of pre-images for ['DELETED', ...] documents only.
Context: A customer uses a collection for ingestion, where 16-20M documents are ingested every 20 minutes. Documents are indexed with Elastic Search upon insertion, and are removed from Elastic Search upon deletion. However, the ingestion process requires subsequent operations: an average of 30 updates are made on each document, and the customer doesn't want to pay the penalty of generating pre- and post-images on updates.
Impact: Updating a collection of 80GB (20M docs of 4kb each) 30…
1 vote -
MongoDB Audit Log Missing Failed and Successful Command Execution Flag
When you initially create a database account…..this action will be logged in the database audit logs as configured, however when you try to re-attempt to create the account again….a normal error message will be displayed as shown below:
db.createUser( {user: "test111_3",pwd: "emad123",roles: [ { role: "readWrite", db: "admin" } ]})
When examining the audit logs the two entries are identical in results which shouldn’t be the case….I think the flag “result” when command executed failed should have a different value to distinguish successfully executed commands from failed executed commands:
{ "atype" : "createUser", "ts" : { "$date" : "2024-08-30T13:04:59.535+03:00" },…
1 vote -
upgrade src/third_party/gperftools ≥ 2.10
gperftools new version support new architecture
1 vote -
Support hex conversion and binary operators in aggregation framework
The aggregation framework lacks function for HEX <-> Number conversion and binary operations. Such functions are common in almost every programming language.
Typically and most required operations would be:
- convert Int/Long to Hex
- convert Hex to Int/Long
- Create BinData from Hex string
- Get Hex string of BinData
- Binary AND
- Binary OR
- Binary XOR
- Binary NOT (i.e. complement)
Some of these functions are available in mongo shell or in Bitwise Query Operators but they do not exist in aggregation framework.
For details see https://jira.mongodb.org/browse/SERVER-55386
This request becomes more urgent, because starting in MongoDB 8.0, server-side JavaScript functions ($accumulator, $function, $where) are…
1 vote -
$sort should allow 0 as argument meaning "no sort"
The $sort operator and aggregation stage should allow 0 (possibly also null) as an argument for the field sort order, meaning, "Don't sort."
This allows a variable to be passed in that can conditionally skip the sort operation, in addition to the present specification, in which a variable can only choose ascending or descending sort.1 vote -
Easier way to troubleshoot storage use size discrepancy across nodes in the same replica set
While initial sync may potentially help on this topic, it would be great if the product has any easier way to identify the cause of significantly different storage use size (so to give a better confidence if initial sync is going to help).
1 vote -
Feature to perform Machine Learning predictive analysis and classification in MongoDB
I want to bring the machine learning compute and predictive analysis into MongoDB atlas. Instead of ETL my data out of Atlas to achieve this, I will reduce my architectural complexity by having an aggregation operator that does this on my documents stored in Atlas.
1 vote -
Parallelize unionWith
Today $unionWith aggregation command is executed sequentially. EG first we query collection A and then collection B and then the union occurs.
The process should be parallelized so the query part will run in parallel while the union will be done as best effort tree merge try to speed up the overall Elapsed Time of the query1 vote -
Scheduled stepdown for smoother primary election
Stepdown is a great tool that allows us to keep clusters operating smoothly. We use it for example when we want to perform some maintenance work on the host where the primary is currently running, to perform a rolling upgrade, and in many other cases we need to switch the primary to another node.
While usually electing a new primary is fast enough, for clusters with very high write traffic, it sometimes unfortunately leads to write errors on the application side. The reason is that drivers need to disconnect from the previous primary and connect to the new one, and…
1 vote -
Add Relaxed mode support for the $out operator
Add Relaxed mode support for the $out operator.
*and include as option in the existing drivers1 vote -
Write parts of database engine in ZIG
Zig is a zero-dependency, drop-in C/C++ compiler that supports cross-compilation out-of-the-box. Implementing some parts of MongoDB database engine core in ZIG might brings some performance improvements.
1 vote -
Aggregations should allow an empty sort stage instead of returning an error
When you run an aggregation pipeline that contains an empty sort stage (like
{"$sort": {}}
) MongoDB returns the error message "$sort stage must have at least one sort key". It would be really helpful if such a stage would work and simply not apply any sorting at all.For one this would be more consistent with a find operation (e.g.
db.runCommand({"find": "test", "sort": {}})
ordb.test.find({}, {}, {"sort": {}})
) which does not return an error but simply does not sort the results. More importantly it would also make it easier for developers and frameworks to dynamically generate the…1 vote -
Query comment or metadata in change stream event
Our application is using change stream events to publish changes as kafka events for our customers. Sometimes we are in need to decide if an event should be send by kafka or not. Right at the moment the only way would be to decide based on additional fields on our document.
It would be nice if there is an opportunity to include query comments to change stream events or some kind of meta data to get some info about the origin of the operation. This would be useful, to decide without any need to add additional fields to our data…
1 vote -
allow mongosync to migrate few field from source to destination for collection in database
right now mongosync will migrate all the fields from source to destination based on filter or non filter setting but there is no way to move few field out of all field for all document
to migrate few field from source to destination for collection in database with default primary key field (_ID )
requesting the feature in new mongosync version
1 vote
- Don't see your idea?