Почему переменная 'db' не только для чтения? - PullRequest
0 голосов
/ 23 марта 2012

После установки db в какое-то произвольное значение я не могу выполнять какие-либо операции в оболочке.

Это известная ошибка или ожидаемое поведение?

> use tutorial
switched to db tutorial
> db
tutorial

> db = 5
5
> db
5

> show dbs
Fri Mar 23 17:18:40 TypeError: db.getMongo is not a function shell/utils.js:1235
>
> use tutorial
Fri Mar 23 17:18:55 TypeError: db.getMongo is not a function shell/utils.js:1167
> db = 'tutorial'
tutorial
> show dbs
Fri Mar 23 17:19:38 TypeError: db.getMongo is not a function shell/utils.js:1235

1 Ответ

5 голосов
/ 23 марта 2012

Mongo Interactive Shell - это оболочка Javascript, и, следовательно, она подчиняется всем законам оболочки Javascript. Вы переопределяете переменную db, которая была инициализирована при запуске.

> a = db
SocialStreams
> db = "Hello"
Hello
> db.help()
Fri Mar 23 12:08:13 TypeError: db.help is not a function (shell):1
> db = a
SocialStreams
> db.help()
DB methods:
    db.addUser(username, password[, readOnly=false])
    db.auth(username, password)
    db.cloneDatabase(fromhost)
...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...