Mongoid 查询文档中数组的内容

Mongoid Query for the content on Array inside a Document

我正在尝试检索是否存在一些信息以在使用 Mongoid 和 Rails 的用户之间创建连接,代码如下:

class ContactController < ApplicationController
  def addNew
    @newFriend = params[:username]
    puts "***value of @newFriend***"
    puts @newFriend
    puts "***end****"
    Contact.where(owner: current_user).where(friendlist: params[:username]) do |contact|
      puts "***value of @contactAlreadyExists***"
      puts contact
      puts "***end****"
      if contact == nil
        Contact.find_or_create_by(owner: current_user) do |contact|
          contact.push(friendlist: params[:username])
        end
      end
    end
    redirect_to "/"
  end
end

控制台不显示来自

的任何内容
puts "***value of @contactAlreadyExists***"
      puts contact
      puts "***end****"

这是一个暂时的解决方案,因为在添加某人之前无法再次进入查询在线

user.contacts.find_or_create_by(owner: user.id) do |contact|

代码:

class ContactController < ApplicationController
      def addNew
        @newFriend = params[:username]
        puts "***value of @newFriend***"
        puts @newFriend
        puts "***end****"
        User.find_by(username: current_user.username) do |user|
          puts "*** here enters***"
          user.contacts.find_or_create_by(owner: user.id) do |contact|
            User.find_by(username: params[:username]) do |friend|
              puts "***enter on friend"
              puts friend
              contact.push(friendlist: friend.id)
            end
            puts "***contact***"
            puts contact
            puts "***end****"
          end
        end
        redirect_to "/"
      end
    end