2016-06-14 5 views
4

Когда в 3.x Монго оболочки Я нашел это странное поведение:MongoDB getCollectionNames оболочки не работает должным образом

  • Typing db.getCollectionNames() я получаю [], но я знаю, что есть коллекции
  • Typing дб .myColl.findOne() фактически возвращает документ, как я ожидаю

Кто-нибудь знает почему? Thanks

+0

Pardon глупое дп. но выполняются ли они под одной базой данных? – KaSh

+0

Вы уже в 3.x. поэтому это не должно иметь никакого влияния. Я принимаю https://docs.mongodb.com/manual/reference/method/db.getCollectionNames/ – KaSh

+0

Спасибо KaSh, ваша ссылка была полезна. По сути проблема заключается в том, что я не обновлял версию развертывания с 2.6 до 3.x, но версия оболочки по-прежнему равна 2.6. –

ответ

2

Вы уже находитесь на 3.x. так что это не должно иметь никакого влияния?

docs.mongodb.com/manual/reference/method/db.getCollectionNames как ссылка говорит, что он возвращает пустой массив для оболочки ниже 3.X

1

Для MongoDB 3.0 развертывания с использованием механизма хранения WiredTiger , если вы используете db.getCollectionNames() из версии оболочки mongo до версии 3.0 или версии драйвера до версии 3.0, db.getCollectionNames() не будет возвращать данные, даже если есть существующих коллекций ,

Более подробную информацию см here

Смежные вопросы