I am using MongoDB Enterprise, MongoDB shell version: 3.2.5
I have a db = mydb and a collections = ['events', 'events__2015-12-01', 'events__2015-11-01']
I have a python/pymongo script where I can connect to every document but in mongo shell I cannot to connect to the dated collections?
in other words
mongodb> use mydb
switched to db mydb
mongodb> db.event
mydb/event
mongodb> db.event__2015-12-01
NaN
mongodb> db.event__2015-11-01
NaN
mongodb> show collections
event
event__2015-11-01
event__2015-12-01
why does this happen in the shell?
EDIT:
Note: On further inspection Mongo Documentations. Clearly states that collections with special characters can only be accessed via getCollection() method
When you write
db.event__2015-12-01
,event__2015-12-01
is your collection object which is quite different from the elements in your collections array or list (Python).To create a collection object from string, you need to use the
getCollection()
method in the shell and theget_collection()
method in your Python script. You can use the[]
operator as well.