mongo shell ReferenceError: database_name not found

mongo shell ReferenceError: database_name not found

您好,我一直在使用 mongodb 和 mongo shell,但我一直遇到同样的问题。 虽然名为 Videos 的数据库存在于 MongoDB Compass 中,我可以使用它并向其中添加数据,但当我尝试使用以下命令从 mongosh 访问它时:

Videos.getCollectionNames();

或使用此命令:

Videos.GBvideos.find();

我不断收到此错误:

ReferenceError: Videos is not defined

集成的 mongosh(在 Compass 环境中)和安装路径中的 mongosh 可执行文件都会发生这种情况。

有什么办法可以克服这个错误吗?

我需要使用 shell,因为我想做的事情无法用指南针完成

指南针:

use Videos switched to db Videos 是将数据库从 mongo shell 荣誉更改为 R2D2!!

的方法

您可以在单个命令中执行此操作:

   mongos> db.getSiblingDB("Videos").getCollection("GBVideos").find()
   { "_id" : ObjectId("61eef2439f3fb15d1fef8877"), "test" : 1 }
   { "_id" : ObjectId("61eef24e9f3fb15d1fef8878"), "test" : 1 }
   mongos> 

或者,如果您需要自己的方式,则必须分配给变量:

   mongos> var Videos=db.getSiblingDB("Videos")
   mongos> Videos.GBVideos.find()
   { "_id" : ObjectId("61eef2439f3fb15d1fef8877"), "test" : 1 }
   { "_id" : ObjectId("61eef24e9f3fb15d1fef8878"), "test" : 1 }
   mongos>