如何使用mongodb存储/显示段落?

时间:2015-04-13 15:11:59

标签: node.js mongodb

我知道mongo不是用于格式化,但我如何创建一个博客文章并以段落形式显示它而不是一个文本块?

例如,如果我有一个管理部分,我可以创建博客文章,我将其输入textarea部分...

  

Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis   nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo   consequat。 Duis aute irure dolor in repreptderit in voluptate velit   esse cillum dolore eu fugiat nulla pariatur。

     

Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis nostrud   练习ullamco laboris nisi ut aliquip ex ea commodo consequat。   Duis aute irure dolor in repreptderit in voluptate velit esse cillum   dolore eu fugiat nulla pariatur。

     

Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis nostrud   练习ullamco laboris nisi ut aliquip ex ea commodo consequat。   Duis aute irure dolor in repreptderit in voluptate velit esse cillum   dolore eu fugiat nulla pariatur。

显示为......

  

Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。 Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in repreptderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur。 Consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat。 Duis aute irure dolor in repreptderit in velptate velit esse cillum dolore eu fugiat nulla pariatur。

2 个答案:

答案 0 :(得分:2)

这不是MongoDB的问题,但是你发现HTML是如何工作的:)

当您提交textarea时,所有换行都只是发送到服务器的换行符(\n\r\n)。它们按原样存储在数据库中 但是,在HTML中,当表示文本时,新行被忽略并被视为空格(除非您将其包装在<pre></pre>块中)。

解决方案是将所有\n替换为<br />标记。如果您熟悉PHP,它将使用nl2br函数,该函数已在此处移植到JavaScript:http://phpjs.org/functions/nl2br/

答案 1 :(得分:2)

这与MongoDB无关。你从HTML textarea元素中获取文本,它有&#34; new line&#34; (\n\r\r\n)字符作为段落分隔符。当您将它放在HTML p元素中时,这些新行将被解释为基本空格。你应该转换那些&#34;新线&#34;将字符转换为HTML br元素或将每个文本块放入单独的p元素中。

检查此npm包:https://www.npmjs.com/package/nl2br

您可以轻松编写更好的代码。