キャッピングされたサブコレクションを作成することは可能ですか?あなたは、代替として提案する何をすべきかlatest_messages
は10MongoDbでキャッピングされたサブコレクション
ない場合にキャップされている
user = {
name: String,
latest_messages: [String]
}
、私のような何かをやろうとしていますか?
アップデート1:
手動でキャッピングされた配列を維持する唯一のソリューションであるかのように見えます。これを行う方法は次のとおりです。
joe = {name: 'Joe', latest_messages: ['', '', '', '', '', '', '', '', '', '']}
db.users.save(joe)
db.users.update({name: 'Joe'}, {$push: {'latest_messages': 'hello'}})
db.users.update({name: 'Joe'}, {$pop: {'latest_messages': -1}})
db.users.update({name: 'Joe'}, {$push: {'latest_messages': 'world'}})
db.users.update({name: 'Joe'}, {$pop: {'latest_messages': -1}})
これを効率的にするための提案はありますか?
アップデート2:
1つのアトミック操作として2(プッシュ&ポップ)を行う能力を追加するために要求open Jira ticket, "SERVER-1050"あります。
@ asya-kamskyの回答を参照してください。 –