Я пытался добавить к массиву (или то, что рубин говорит о массиве), но продолжаю получать ошибку от Монго, которая говорит
Cannot apply $addToSet modifier to non-array
когда я пытаюсь запустить
User.collection.update({'id'=> current.id},{'$addToSet'=>{ 'following' => current.id}})
User.collection.update({'id'=> user.id},{'$addToSet'=>{ 'following' => user.id}})
или версия mongomapper
User.push_uniq(current.id, :following => user.id)
User.push_uniq(user.id, :followers => current.id)
Когда я вывожу
<%= debug @user.following.kind_of? Array %>
возвращает истину
Однако при работе
db.users.find()
прямо против монго, я получаю
{ "_id" : ObjectId("4c4a196f15a79004e0000007"), "email" : "test@test.com", "foll
owers" : null, "following" : null, "password_hash" : "98f2188de42bce1554d08fbc81
d5c99a2c234933", "password_salt" : "25d80a83cfe3d126cdbe9fec2b731ab9ea57c3b8", "
username" : "test" }
Я бы ожидал, что подписчики и подписчики будут [], а не нулевыми.
Когда я выводлю debug @ user.followers, rails показывает --- []
Моя модель для создания пользователя
key :username, :type => String
key :email, :type => String
key :password_hash, :type => String
key :password_salt, :type => String
key :followers, :type => Array
key :following, :type => Array
Ошибка заставляет меня поверить, что user.followers найден, но не может быть обновлен.
Когда я меняю
User.push_uniq(current.id, :testing => user.id)
Я не получаю ошибку, так что я думаю, что у меня есть эта часть права.
Есть предложения?