Database
17 results found
-
Multiple unique single indexes in sharded collections
MongoDB sharded collection can only have one unique index which is the shard key. However, in real applications, one might need more than one single unique index. "Proxy" collections suggested in https://www.mongodb.com/docs/manual/tutorial/unique-constraints-on-arbitrary-fields/ has 3 issues:
The most important one is that it does not enforce a one-to-one relationship between the main document and the proxy document. So if I follow the example in the link, two different emails can have the same parentid. You can add a unique single index on parentid but that will not work if the proxy collection is sharded.
If I want to add…
1 vote -
TTL index activity statistics
Dear all,
Presently, there is no visibility or tracking of TTL index activity: no data available to the user to see how much data and how often has been deleted. I suggest having a separate “dictionary” collection with statistics for all TTL indexes with pre-defined data retention (aka last month).
Thank you for looking at that.
Regards, Marina.
1 vote -
array length as computed to be indexed
in some cases, I need to filter only docs with specific (or range of) sizes of nested arrays.
it will be good if I can configure 'automatic index' to keep the length of the array, based on the field name I will provide to the index, and then I can easily get the docs.(now I need to add and maintain this field on myself or with trigger)
1 vote -
TTL index throttling for deletion
To avoid deletion impact, we need to control the quantity and speed of document generations(insert).
Need a way to throttle down the deletion quantity per a delete operation.i.e. # of documents per a ttl delete, sleep time between deletions(default 60s)
2 votes -
Support indexes on single array elements (e.g. "MyArray.0")
Currently, if I create an index on an array field and specify an element number ("MyArray.0"), the system still indexes the whole array as normal.
Normally, this might increase the index size but at least it's still useful when querying MyArray.0 later.
However, it would be better to be able to index individual numbered elements in cases like compound indexes where I might need to check whether two arrays are non-empty, and I can't use a compound index for a query on MyArray.0 and MyOtherArray.0 at the same time due to the multi-array limitation.
For MongoDB folks with access to…
1 vote -
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 -
Support Two Array Fields in Compound Indexes
Hi,
I've come across a lot of use cases where the business logic has demanded unique constraints on 1-2 fields that have been modeled as arrays on documents. The cases that only contain a single array field is already taken care of using unique indexes in MongoDB, however the cases with 2 array fields have required application level constraints since the database only supports a single array field in compound indexes. While multiple arrays in a single index would massively increase the size of the indexes, it would be very helpful if it would still be possible. If there are…
2 votes -
bloom filter index
https://www.percona.com/blog/2019/06/14/bloom-indexes-in-postgresql/
I think having an option to use bloom filter indexes could provide for better performance when compared to compound indexes and eliminate the need for having multiple indexes. It would likely require tuning still, but with very large data sets this could be much less expensive.
3 votes -
Add numerically-ordered index feature which forces a field to maintain ordering
I would like MongoDB to add better support for ordered lists across documents in a collection. This feature would allow the user to designate a field such as "position", and the DB would ensure the values of that field across documents remain in a monotonically-increasing integer sequence 0, 1, 2, 3, ... N.
I am the maintainer of a Ruby library called "Mongoid Orderable". This library makes numerically ordered field across documents. I'd like to ask MongoDB to investigate moving the functionality of this library to the server.
What use case would this feature/improvement enable?
This feature would be useful…
2 votes -
Support compound TTL index
Right now you can only do a single field TTL index. I would like a put a TTL on a compound index.
3 votes -
Make it clear an index not on present on all shards
We recently had an issue where an index did not get created on all shards. When we ran getIndexes() on mongos it reported the index was present. So we dropped another redundant index thinking all would be well - it was not. We had serious performance issues on the shard that was missing the new index and our app was unavailable for a few hours whilst we re-created the missing index on a huge collection.
It would be better if getIndexes called on mongos reported some sort of warning or indication that it was not present on all shards. The…
2 votes -
Please report mixed-type numeric _id fields in $merge stage error
Posting this idea at the request of one of the Jira users. You can find more technical details about this in the Jira issue:
https://jira.mongodb.org/browse/SERVER-61613
The gist of it is that I may have two collections,
b2
andb3
, that are not distinguishable in the Mongo Shell, like this:db.b2.find() [ { _id: 1, created: ISODate("2021-11-18T23:16:33.149Z") }, { _id: 2, created: ISODate("2021-11-18T23:16:33.149Z") } ] db.b3.find() [ { _id: 1, created: ISODate("2021-11-18T22:53:02.113Z") }, { _id: 2, created: ISODate("2021-11-18T22:53:02.113Z") } ] ``` When I merge each into a collection `pg` with this syntax:
db.pg.aggregate([{$merge: {into: "b3", whenMatched: "merge", whenNotMatched: "fail"}} ]);…
1 vote -
Rename an existing index
Allow for the possibility of renaming an existing index, without having to drop and recreate it.
Let us say a unique index exists in production, it might not be possible to safely drop it. Yet the index name might not be ideal.
7 votes -
Add expression indexes
An expression index is one where the value being indexed is the result of an expression, like lower casing a string.
http://en.wikipedia.org/wiki/Expression_index
http://www.postgresql.org/docs/8.1/static/indexes-expressional.html5 votes -
Allow multiple text indexes per collection
MongoDb only allow one text index by collection, in contrast of other index types.
This is a limitation that makes it difficult to develop projects with search functionality, for example, if you want to add a text search for advanced users on all fields and a public search on a subset of fields, there isn't a simple and performant way to solve it.
Many developers end up using other products like elastic search, or creating additional collections and using lookup, or using preg_reg or building smart indexes when the creation of multiple text indexes per collection would allow a quick,…
4 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
- Don't see your idea?