Ruby NameError с BSON - PullRequest
       1

Ruby NameError с BSON

0 голосов
/ 01 января 2011

Я новичок в ruby, поэтому мне жаль, если на этот вопрос есть очевидный ответ, но мне не очень повезло с этим.

Но я продолжаю сталкиваться с

неинициализированная константа BSON :: ObjectID (NameError)

У меня есть требование

require 'mongo'

Тогда вот фрагмент кода, который выдает ошибку, набор очков указывает на дб.

#Insert and return the row.
def insert(row)
    id = collection.insert row
    collection.find_one(:_id => BSON::ObjectID.from_string(id.to_s))
end

Я в полном недоумении, что здесь не так. видя, как Руби не любит меня, требующего bson до или после монго.

Пробовал в 1.9.2 и 1.8.7

Ответы [ 3 ]

3 голосов
/ 01 января 2011

Обновление : это идентификатор (верхний, затем нижний регистр), а не идентификатор.

Просто чтобы быть уверенным в этом, поместите require 'mongo' в тот же файл, что и блок кода выше, а затем измените BSON::ObjectID на ::BSON::ObjectId.

1 голос
/ 01 января 2011

Попробуйте ввести 'bson' в начале вашего файла.

0 голосов
/ 01 января 2011

Не удалось на 100% решить проблему, но id уже был BSON :: ObjectID, поэтому я просто изменил его на

collection.find_one(:_id => id)

Работает так, как мне бы хотелось сейчас!

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