Indexes:
createIndex -> db.collection.createIndex({a:1})
getIndex-> db.collection.getIndex(
dropIndex
1)default index
2)Unique:true
db.collection.ensureIndex(key#,<options>)}
eg:
db.foo.ensureIndex({empid:1},{unique:true})
3) sparse:true
db.foo.ensureIndex({empid:1},{Special:true})
4)TTL - Time to live
db.eventlog.createIndex("lastModifiedDate":1},{expireAfterSeconds:3600})
5) Geo Spatial and 2d Indexes
db.places.ensureIndex({location:"2dsphere"})
- 2dsphere to mention the "Latitude & Longitude"
db.places.ensureIndex({location:"2d"})
- 2d refers x & y axis
Spatial query
db.places.find({loc:
{$near:{$geometry:
{type:"point", coordinates:[2,2,01]},
spherical:true
}
}
}
)
--$near -> spatial operator
--$geometry:{type:"point", coordinates:[2,2,01]} -> parameters
6) Text indexes
db.sentences.ensureIndex({words:"text"}) - CREATING TEXT INDEX ON COLUMN WORDS
db.sentences.find({$text:{$search:"cat"}})
db.movies.find( { $text : {$search : "Big Lebowski" } } ) - it gives output of strings maches with "Big" or Lebowski" or both.
db.sentences.find({$text:{search:"Trees cat"}),{score:{$meta:"textScore"},_id:0}) - It gives search match ranking, _id:0 is for display subpression
db.sentences.ensureIndex({words:"text"},{default_language:"english"}) - text index language selection
******************NOTE**************************
Index can be created at the background so that read and write on the collection will not be impacted
- db.collection.createIndex({a:1}) => db.collection.createIndex({a:1},{background:true})
-However, background is applicable only for "primary" and secondary still uses foreground option
-Background uses RANDOM I/O, it takes extra time
-It will not return to prompt until background process is completed
createIndex -> db.collection.createIndex({a:1})
getIndex-> db.collection.getIndex(
dropIndex
1)default index
2)Unique:true
db.collection.ensureIndex(key#,<options>)}
eg:
db.foo.ensureIndex({empid:1},{unique:true})
3) sparse:true
db.foo.ensureIndex({empid:1},{Special:true})
4)TTL - Time to live
db.eventlog.createIndex("lastModifiedDate":1},{expireAfterSeconds:3600})
5) Geo Spatial and 2d Indexes
db.places.ensureIndex({location:"2dsphere"})
- 2dsphere to mention the "Latitude & Longitude"
db.places.ensureIndex({location:"2d"})
- 2d refers x & y axis
Spatial query
db.places.find({loc:
{$near:{$geometry:
{type:"point", coordinates:[2,2,01]},
spherical:true
}
}
}
)
--$near -> spatial operator
--$geometry:{type:"point", coordinates:[2,2,01]} -> parameters
6) Text indexes
db.sentences.ensureIndex({words:"text"}) - CREATING TEXT INDEX ON COLUMN WORDS
db.sentences.find({$text:{$search:"cat"}})
db.movies.find( { $text : {$search : "Big Lebowski" } } ) - it gives output of strings maches with "Big" or Lebowski" or both.
db.sentences.find({$text:{search:"Trees cat"}),{score:{$meta:"textScore"},_id:0}) - It gives search match ranking, _id:0 is for display subpression
db.sentences.ensureIndex({words:"text"},{default_language:"english"}) - text index language selection
******************NOTE**************************
Index can be created at the background so that read and write on the collection will not be impacted
- db.collection.createIndex({a:1}) => db.collection.createIndex({a:1},{background:true})
-However, background is applicable only for "primary" and secondary still uses foreground option
-Background uses RANDOM I/O, it takes extra time
-It will not return to prompt until background process is completed
No comments:
Post a Comment