1

全部!

卸载当前稳定版(使用 brew)并安装 2.4 rc2(不是 brew,因为 brew --devel 没有它,但主要如下所述:http: //shiftcommathree.com/articles/how-to-install- mongodb-on-os-x),甚至几次,也许是太急于在下次安装之前删除所有与 mongodb 相关的内容,我最终遇到了这种情况:

我拥有的节点程序使用数据库并且工作正常(查找、插入等)。但问题是 mongo shell 无法正常工作,我无法插入或查找文档。例如(现在我有 2.4 的 rc2,但情况与当前稳定的情况相同):

$蒙戈
MongoDB外壳版本:2.4.0-rc2
连接到:测试
> 显示数据库
本地 0.078125GB
> 使用我的数据库
切换到 db mydb
> db.mydb.mycollection.insert = ({title: "哦,奇怪的问题"})
{ "title" : "哦-哦,奇怪的问题" }
> 显示收藏
> 显示数据库
本地 0.078125GB
我的数据库(空)

然后我通过我的节点程序进行插入并执行以下操作:

> 显示数据库
本地 0.078125GB
数据库 0.203125GB
> 使用我的数据库
切换到 db mydb
> 显示收藏
我的收藏
系统索引
> db.mydb.mycollection.find()
>

同样,在我的节点程序中,'find' 会找到它应该...

知道为什么 mongo shell 不起作用吗?

弗罗德

4

1 回答 1

1

你有一个mydb.mycollectionmydb数据库中调用的集合。这不太可能是您真正想要的。当您use从 shell 中创建数据库时,您可以通过db对象引用数据库,而无需重复数据库名称。

use mydb
# db is now implicitly the mydb database
# you no longer refer to it by name
db.mycollection.insert({"name" : "stacks overflowing"})

Also note that you were not calling the insert function, your code was attempting to set the function to the value of the new object.

于 2013-03-12T10:50:55.687 回答