mongodbを使って、mongoの2人のユーザー間で簡単なメッセージングシステムを実装しようとしています。私はuser0とuser1という2人のユーザーを連れて、コレクション内のエントリを検索できるようにしたいと考えています。これらの2人のユーザーのエントリが存在しない場合は、そのユーザーを作成し、メッセージフィールドに送信されたメッセージを追加します。存在する場合は、メッセージをメッセージフィールドにプッシュしたいだけです。mongodbに多数の要素を持つ順不同のキーを作る方法
私は実際にこれを実装する最良の方法はわかりません。
db.privateChat.update(
{between:{$all:['user0', 'user1']}},
{$push:{message:'text'}}, {upsert:true}
)
他の同様のエントリスキームは動作しません。彼らは、エラーを生成:
"Cannot create base during insert of update. Caused by :ConflictingUpdateOperators Cannot update 'between' and 'between' at the same time"
私は他の方法を考えることができ
この発言からハッシュを追加一緒に(ユーザーの順序は、検索のために重要ではありません)対称鍵を生成しますか、 messenger0かmessenger1のどちらかがuser0かuser1のどちらかであるかどうかを確認するクエリですが、これは素晴らしい方法とは思われません。これはまったく間違ったアプローチですか?
ありがとうございました。