복붙노트

[MONGODB] 삽입 / Mongoid를 사용하여 업데이트를 배치?

MONGODB

삽입 / Mongoid를 사용하여 업데이트를 배치?

검색 좀하고 다른 모든,하지만 난 대답을 찾지 못했습니다. 질문은 ~이야:

안녕, 어떻게하여 MongoDB에 Mongoid로 일괄 삽입을 할 수 있습니까?

해결법

  1. ==============================

    1.당신은 루비 몽고 드라이버의 삽입 방법을 사용하여 해시의 배치 배열을 삽입 할 수 있습니다. 어떤 Mongoid 클래스에서, 당신은 그것을 액세스 할 모음을 호출 할 수 있습니다.

    당신은 루비 몽고 드라이버의 삽입 방법을 사용하여 해시의 배치 배열을 삽입 할 수 있습니다. 어떤 Mongoid 클래스에서, 당신은 그것을 액세스 할 모음을 호출 할 수 있습니다.

    batch = [{:name => "mongodb"}, {:name => "mongoid"}]  
    Article.collection.insert(batch)
    
  2. ==============================

    2.당신이 Mongoid 문서 (모델) 대신 해시 삽입 배치하려는 경우, 배열로 배치하기 전에 모델의 as_document 메소드를 호출합니다 :

    당신이 Mongoid 문서 (모델) 대신 해시 삽입 배치하려는 경우, 배열로 배치하기 전에 모델의 as_document 메소드를 호출합니다 :

    @page_views << page_view.as_document
    

    ...

    PageView.collection.insert(@page_views)
    
  3. ==============================

    3.당신은이를 사용할 수 있습니다 :

    당신은이를 사용할 수 있습니다 :

    books = [{:name => "Harry Potter"}, {:name => "Night"}]  
    Book.collection.insert_many(books)
    

    그리고 나는 나 (Monogoid 5.1.3)에 대한 작업을하는 "삽입"을하지 않는 것을 발견했습니다 :

    NoMethodError: undefined method `insert' for # <Mongo::Collection:0x007fbdbc9b1cd0>
    Did you mean?  insert_one
                   insert_many
                   inspect
    

    이것은 "lib 디렉토리 / 몽고 / collection.rb"에서 소스 코드입니다 :

    # Insert the provided documents into the collection.
    #
    # @example Insert documents into the collection.
    #   collection.insert_many([{ name: 'test' }])
    #
    # @param [ Array<Hash> ] documents The documents to insert.
    # @param [ Hash ] options The insert options.
    #
    # @return [ Result ] The database response wrapper.
    #
    # @since 2.0.0
    def insert_many(documents, options = {})
      inserts = documents.map{ |doc| { :insert_one => doc }}
      bulk_write(inserts, options)
    end
    
  4. ==============================

    4.Mongoid의 Model.create 방법은 문서를 작성하는 배열을 받아 들일 수 있습니다.

    Mongoid의 Model.create 방법은 문서를 작성하는 배열을 받아 들일 수 있습니다.

    Mongoid 문서에서 :

    Person.create([
      { first_name: "Heinrich", last_name: "Heine" },
      { first_name: "Willy", last_name: "Brandt" }
    ])
    

    https://docs.mongodb.org/ecosystem/tutorial/mongoid-persistence/

  5. from https://stackoverflow.com/questions/3772378/batch-insert-update-using-mongoid by cc-by-sa and MIT license