Mongoクライアントはアンダースコアで始まるコレクションにアクセスできません 質問する

Mongoクライアントはアンダースコアで始まるコレクションにアクセスできません 質問する

Mongo でコレクションにアンダースコアの名前を付けましたが、シェルからアクセスできません。

meteor:PRIMARY> show collections
_assignments
chatmessages
(... other stuff)

最初のコレクションで関数を実行しようとすると、エラーが発生します。

meteor:PRIMARY> db._assignments.find()
Thu Jun 19 10:53:28.450 TypeError: Cannot call method 'find' of undefined

ただし、他のコレクションは正常に動作します。

meteor:PRIMARY> db.chatmessages.find()
{ "room" : "j5oau9DJ6GNpT9nR8", "userId" : "at9Kt8NNL4aeof6LE", "text" : "@nomad943 can you take a look at event #1?", "timestamp" : 1391806611977, "_id" : "26GbXa6c4B65FYRxC" }
{ "room" : "T7JfjBhri48bNHAfQ", "userId" : "B82LxmPBZWDnN4N2p", "text" : "Thinking #60 should be deleted, it's a duplicate of #36 and the region is wrong for the province", "timestamp" : ISODate("2014-06-18T18:57:56.480Z"), "_id" : "29pKqPhi4hgxCb2Ky" }

何が起きてる?

ベストアンサー1

シェルがデフォルトのヘルパー構文でこれに対処できないこと以外、問題はないと思います。シェルでは、次のように名前が付けられたコレクションにアクセスできます。

db.createCollection("_assignments")
{ "ok" : 1 }
db.getCollection("_assignments").find()
db.getCollection("_assignments").insert({ "a": 1 })
WriteResult({ "nInserted" : 1 })
db.getCollection("_assignments").find({ "a": 1 })
{ "_id" : ObjectId("53a36a4047234c4e9bb4feac"), "a" : 1 }

おすすめ記事