在 MongoShell 中:无法连接到我的 collection、db.collection_name return NaN
In MongoShell: Not able to connect to my collection, db.collection_name return NaN
我正在使用 MongoDB 企业版,MongoDB shell 版本:3.2.5
我有一个 db = mydb 和一个 collections = ['events', 'events__2015-12-01', 'events__2015-11-01']
我有一个 python/pymongo 脚本,我可以在其中连接到每个文档,但是在 mongo shell 中,我无法连接到过时的 collections?
换句话说
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
为什么 shell 会发生这种情况?
编辑:
注:进一步检查 Mongo Documentations。明确指出 collections 具有特殊字符只能通过 getCollection() 方法
访问
您可以使用以下任一语法来访问带有连字符名称的集合:
db['event__2015-12-01']
或
db.getCollection('event__2015-12-01')
当您写 db.event__2015-12-01
时,event__2015-12-01
是您的集合对象,它与您的集合数组或列表 (Python) 中的元素完全不同。
要从字符串创建集合对象,您需要在 Python 脚本中使用 getCollection()
method in the shell and the get_collection()
方法。您也可以使用 []
运算符。
我正在使用 MongoDB 企业版,MongoDB shell 版本:3.2.5
我有一个 db = mydb 和一个 collections = ['events', 'events__2015-12-01', 'events__2015-11-01']
我有一个 python/pymongo 脚本,我可以在其中连接到每个文档,但是在 mongo shell 中,我无法连接到过时的 collections?
换句话说
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
为什么 shell 会发生这种情况?
编辑:
注:进一步检查 Mongo Documentations。明确指出 collections 具有特殊字符只能通过 getCollection() 方法
访问您可以使用以下任一语法来访问带有连字符名称的集合:
db['event__2015-12-01']
或
db.getCollection('event__2015-12-01')
当您写 db.event__2015-12-01
时,event__2015-12-01
是您的集合对象,它与您的集合数组或列表 (Python) 中的元素完全不同。
要从字符串创建集合对象,您需要在 Python 脚本中使用 getCollection()
method in the shell and the get_collection()
方法。您也可以使用 []
运算符。