2

こんにちは私のmongodbコレクションはこのように見えます

{ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 }
{ "created" : ISODate("2013-01-02T00:00:00Z"), "total_page_impression_count" : 511, "total_page_story_count" : 7 }
{ "created" : ISODate("2013-01-03T00:00:00Z"), "total_page_impression_count" : 513, "total_page_story_count" : 7 }

(total_page_impression_count + total_page_story_count)の値を同じテーブルの別の列に保持したいと思います。誰もがそれを行う方法を知っています。私が知った発見によると、SQLのようにそれは不可能です。誰かが助けてくれるなら、私は大いにいっぱいになるでしょう。前もって感謝します。

4

3 に答える 3

3

すべてのドキュメントを繰り返し、集計フィールドを手動で書き込むことができます。言語ドライバーまたは JavaScript シェルを使用します。はい、update users set full_name = first_name + last_namemongodb には種類のコマンドはありません。

于 2013-01-28T07:55:28.577 に答える
0

アプリケーションロジックはアプリケーションロジックだと思います。そして、疑わしいパフォーマンスの向上に対処するために新しいレベルの非正規化を実行するために集計の結果を保存することは、まず第一に、開発者の選択にかかっています。では、10gen はそのような機能を実装する必要があるのでしょうか?


グーグル翻訳

于 2013-01-28T10:16:55.617 に答える
-1

mongodb は RDB ではありません。mongodb には「結合」機能がありません。

db.yourtable.insert({ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 })

2回挿入する必要があります。

db.yourtable.insert({ "created" : ISODate("2013-01-01T00:00:00Z"), "total_page_impression_count" : 500, "total_page_story_count" : 7 });
db.othertable.insert({"total_page_story_count":507});
于 2013-01-28T08:01:31.333 に答える