2

現在、「コメントの保存」に関するmongoDBチュートリアルを行っています...「コメントごとに1つのドキュメント」の概念を使用しようとしています。

http://docs.mongodb.org/manual/use-cases/storing-comments/

次のドキュメントをデータベースに追加しました。

a = {'discussion_id': 55, slug: '34db', full_slug: '2012.02.08.12.21.08:34db',     text:'1'}
b = {'discussion_id': 66, slug: '34db/8bda', full_slug: '2012.02.08.12.21.08:34db/2012.02.09.22.19.16:8bda', text:'1.1'}
c = {'discussion_id': 77, slug: '88uz', full_slug: '2012.03.08.12.21.08:34db', text:'2'}

すべてのドキュメントを私のdb.testに保存し、実行しました:

db.test.find().sort('full_slug':1)

ドキュメントで述べられているように、「... full_slug フィールドで単純な並べ替えを使用して、スレッド化されたビューを取得できます」出力がどのように見えるか疑問に思います...

次のような JSON しか取得しません。

{}
{}
{}

もっと「スレッド/ネストされた」ものを期待したとき...

{
{}
}
{}

私の入力に問題があるのか​​、それとも間違った期待を持っているのか教えていただけますか?

この出力が問題ない場合: 情報をスレッド化された html 出力としてレンダリングするにはどうすればよいですか? (順序は良いようですが、そこからインデント情報を取得するにはどうすればよいですか?)

4

1 に答える 1

2

それはあなたの期待です。Mongo はすべてのドキュメントを配列で返します。リレーショナルまたは条件ロジック/実装は、コードで処理する必要があります (挿入前または選択後)。例えば:

  1. mongo に挿入する前に、正しいインデント レベルを計算し、ドキュメントに別のプロパティを追加して、計算された値を保存します。

  2. ドキュメントを取得した後、各ドキュメントのコンテキスト要素を使用して、(オンザフライで) 正しいインデント レベルを計算します。

于 2012-07-16T19:39:42.460 に答える