新しいアグリゲーションパイプラインステージ$lookup
では、「左外部結合」を実行できるようになりました。一見
は、私はすぐに、2つの別々のコレクションでコレクションをdenormalised私たちのいずれかを交換し、照会時にそれらを結合するために$lookup
を使用したいです。これにより、必要に応じて膨大な数の文書を更新するという問題が解決されます。これで、1つのドキュメントだけを更新できます。
確かにこれは本当に良いことですか?これは結局、NoSQLのドキュメントデータベースです!
のMongoDBのCTOもhighlights his concerns:
我々はまだ$ルックアップは、リレーショナルデータベースのようにMongoDB を治療するために悪用される可能性があること心配しています。しかし、その利用可能性を制限する代わりに、 は、開発者がその使用が適切であると知っていることを助けるつもりで、 はアンチパターンです。今後数か月以内に、この分野での明確で強力な指針を提供するために、既存のドキュメント を超えることになります。
$lookup
の制限はありますか?データをリアルタイムで操作可能なクエリで使用することができますか、オフラインの状況を報告するために残す必要がありますか?