Можете ли вы использовать MongoDB $ и оператор с разными ключами? - PullRequest
1 голос
/ 07 января 2012

Кажется, что эти два запроса должны быть идентичными, но результаты не совпадают. Почему второй запрос findOne с оператором $ и не выполняет то же самое, что и первый?

$ mongo
MongoDB shell version: 2.0.2
connecting to: test
> db.test.drop()
true
> db.test.insert({ x: 1, y: 2 })
> db.test.findOne({ x: 1, y: 2 })
{ "_id" : ObjectId("4f0885cd61d25fd4a5813ae2"), "x" : 1, "y" : 2 }
> db.test.findOne({ $and: [{ x: 1 }, { y: 2 }] })
null

Я использую MongoDB 2.0.2, установленную через Homebrew на Mac OS X 10.6.8

1 Ответ

1 голос
/ 08 января 2012

Не важно, это было вызвано тем, что я первоначально установил mongodb 1.8.2 через homebrew, а затем обновил его до 2.0.2, но я не скопировал новый файл plist на место, так что launchctl все еще запускал 1.8.2.Вы можете видеть это, потому что при подключении через оболочку:

$ mongo
MongoDB shell version: 2.0.2

говорит о том, что вы используете версию 2.0.2 клиента.Но если вы запустите это:

>  db.serverStatus()

Где-то в выводе вы увидите это:

"version" : "2.0.2"

Какая версия работает на сервере.Раньше было 1.8.2, а теперь 2.0.2.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...