如何将HTML插入Mongodb?

时间:2013-03-07 15:50:17

标签: javascript json mongodb

当我尝试粘贴HTML文本文件时,我一直被踢出shell。如何才能做到这一点?我是否首先需要使用一些javascript对其进行编码?

示例:

db.test.insert({x:"<div id='product-description'><p>Who hasn’t wished for a mini-Roomba to    handle the arduous task of cleaning their iPhone screen? Now your dreams have come true!</p>  <p>See the Takara web page for a <a href='http://www.takaratomy.co.jp/products/automee/'  title='automee s' target='_blank'>demo video.</a></p>
<p><strong>Colors: </strong> White, Red, Orange and Blue<br>
Runs on a single AA battery.</p>
<p>1,575 yen</p><!-- end #product-description --></div>"})

修改

我在html中只放了一个引号并用双引号包装整个内容,但仍然没有用。 shell错误:

> j = ({z:"<div id='product-description'><p>Who hasn
---
Unicode text could not be correctly displayed.
Please change your console font to a Unicode font (e.g. Lucida Console).
---

’
bye

4 个答案:

答案 0 :(得分:6)

您需要删除或编码字符串中的控制字符。

例如,将文字粘贴到here,然后编码为UTF-8 ECMAScript(这意味着javascript字符串)。

ps:这里有一篇关于javascript中的字符串的文章。告诉你什么需要逃脱。 http://docstore.mik.ua/orelly/webprog/jscript/ch03_02.htm

答案 1 :(得分:0)

rompetroll 为入门提供了一些很好的参考。我也在网上找到了一个很好的解决方案,工作正常:

Link

但我认为仍然存在一些关于&#34;从db&#34;将html显示回浏览器的困惑。因此,以下是消除这种混淆的步骤:

第1步:将html存储在mongodb中

Mongo以对象的形式存储所有内容。基本上将您的html转换为utf-8或ASCII编译的字符串,然后将其存储到mongo。

<div>hi!</div> [from]

&lt;div&gt;hi!&lt;/div&gt; [to UTF-8]

第2步:将html显示到浏览器

这是一些混淆的步骤。人们经常忘记在将字符串显示到浏览器之前将其转换回html。 您必须使用与编码相同的方法解码您的html。

&lt;div&gt;hi!&lt;/div&gt; [output from mongo (decode it to html)]

<div>hi!</div> [browser output of above string]

(浏览器将其读作字符串并显示为原样而不是html(hi!),因此需要进行解码)

我提供的

Link可以参考这两个步骤。

希望这会有所帮助

干杯:)

答案 2 :(得分:0)

使用compass,则无需编码。 Studio3T编辑器也可以使用,但是您需要许可证。

答案 3 :(得分:0)

要通过MongoDB控制台添加html,您需要转义字符串。 使用这个:https://www.freeformatter.com/json-escape.html#ad-output

步骤

  • 复制HTML
  • 转到上面的链接,粘贴HTML,然后单击“转义”
  • 复制转义的HTML
  • 插入HTML(例如:db.Emails.updateMany({name: 'email/seller'}, {$set: {template: "<!DOCTYPE html\">\r\n<html lang=\"en\"> ..."}}