0
私は文書患者と、患者の埋め込み文書手続きを持っています。どういうわけか私は特定の患者のための複写されたプロシージャ組み込み文書の作成につながった私のプロシージャテーブルの重複したエントリをインポートしました。 これらの重複したエントリを削除する必要がありますが、これを行うことはできません。 重複する埋め込みドキュメントレコードに対してdeleteメソッドを使用すると、「削除はプライベートメソッドです」というエラーがスローされます。 私は私が埋め込まれた文書の重複したエントリを削除することができますどのようにこのMongoDBで埋め込み文書レコードを削除するには?
if type == "procedures"
count = 0
user.access_self
unique_procedures = Set.new
user.procedures.each{|each_proc|
each_proc.access_self
if !unique_procedures.include?("#{each_proc.access_self.name} #{each_proc.hid_code}")
unique_procedures.add("#{each_proc.access_self.name} #{each_proc.hid_code}")
else
each_proc.delete
count = count + 1
end
}
if count > 0
puts "#{user.full_name} has #{count} duplicate procedures."
puts "#{count} duplicate procedures deleted."
else
puts "#{user.full_name} has no procedures."
end
return count
end
のようなものを行っています?ここで[OK]を
あなたの文書スキーマまたはいくつかのサンプル文書を示していただけますか?手続きは配列でなければならず、埋め込みドキュメントではないと思われます($ add_to_set修飾子を使用する必要がありますが、正しく記述してください) –
重複した埋め込みドキュメントレコードを削除したいだけです。埋め込みドキュメントの2つのキーの組み合わせdelete_ifはこの点で私を助けません –
ちょっと、以下のコードがまったく役に立たなかったかどうかは分かりませんでした。 –