Можно ли использовать Mongo «Object ID» в качестве уникального идентификатора? Если да, как я могу преобразовать его в строку и искать по строке?

Например ...

user/view/?id=324gijsdfi3h25o1

Я могу str () это ... но ...

Как я могу найти по строке?

Изменить: я хочу, чтобы каждый документ в Mongo имел уникальный идентификатор (обычно строку), по которому я могу искать. Я надеялся, что идентификатор объекта может быть таким (поскольку в нем много букв и он уникален). И я хочу, чтобы он работал с HTTP GET. Если да, то можно ли получить используемый объект ActiveRecord :: Relation. Мы все ...

  1. Используют ли методы ассоциации, такие как определенные в has_many и own_to , ActiveRecord :: Relation ?

  2. Если Итак, возможно ли получить используемый объект ActiveRecord :: Relation .

Мы все знаем, что Rails 3 интенсивно использует объекты ActiveRecord :: Relation , и объекты Arel :: Relation в фоновом режиме при создании запросов с использованием интерфейса запросов . Каждый раз, когда мы используем select , joins и т. Д. Методы интерфейса запросов, возвращается объект ActiveRecord :: Relation . Однако это не Похоже, что это происходит при вызове метода ассоциации модели. Вместо этого запрос выполняется немедленно, и возвращается экземпляр или массив экземпляров связанной модели.

Рассмотрим следующие модели:

post.rb

class Post < ActiveRecord::Base
  belongs_to :user
end

user.rb

class user < ActiveRecord::Base
  has_many :posts
end

Пример:

u = User.first
u.posts

Вызов u.posts возвращает массив сообщений, а не экземпляр ActiveRecord :: Relation . Мне интересно, можно ли получить ActiveRecord :: Relation , который используется ассоциацией , если он вообще используется, возможно, используя Arel: : Table ?

Мои доводы в пользу ActiveRecord :: Relation должны быть очевидны: это потому, что я хочу связать существующую ассоциацию и манипулировать запросом для достижения другой цели.

20
задан John 14 November 2010 в 19:32
поделиться