I have a collection of documents :
{ "networkID": "myNetwork1", "pointID": "point001", "param": "param1" } { "networkID": "myNetwork2", "pointID": "point002", "param": "param2" } { "networkID": "myNetwork1", "pointID": "point003", "param": "param3" } ...
pointIDs are unique but networkIDs are not.
Is it possible to query Mongodb in such a way that the result will be : [myNetwork1,myNetwork2]
right now I only managed to return [myNetwork1,myNetwork2,myNetwork1]
I need a list of unique networkIDs to populate an autocomplete select2 component. As I may have up to 50K documents I would prefer mongoDb to filter the results at the query level.
To get unique values and ignore duplicates, use distinct() in MongoDB. The distinct() finds the distinct values for a specified field across a single collection and returns the results in an array.
MongoDB's Unique Constraint makes certain that the fields indexed in it, do not store duplicate values for the same field, i.e., making sure the uniqueness of fields. By default, MongoDB enforces this unique constraint on the “_id” field, while inserting new data.
Find() Method. In MongoDB, find() method is used to select documents in a collection and return a cursor to the selected documents.
I think you can use db.collection.distinct(fields,query)
You will be able to get the distinct values in your case for NetworkID.
It should be something like this :
db.collection.distinct('NetworkID')
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With