首页 > 解决方案 > 如何使用 mongoose 将 URL 保存到 mongoDB

问题描述

我的 express 应用程序上有一个表格供用户填写,它通过 mongoose 插入到 mongoDB 中。其中一个输入用于 URL。当我将新模型保存到 mongoDB 时,看起来像这样https://www.youtube.com/的 URL现在看起来像这样 https: x2F; x2F; www.youtube.com& #x2F;.(没有空格)

我遇到过这个问题:如何在 Mongoose Schema 中存储 URL 值?但我不想验证,我只想能够将 URL 保存为纯文本

let ProductSchema = new Schema({
  business: {type: String, required: true},
  productName: {type: String, required: true},
  category: {type: String, required: true},
  price: {type: Number, required: true },
  description: {type: String, required: true},
  websiteURL: {type: String, required: true},

  //  websiteURL: {type: Url, required: true}, why isn't this possible?
}); 

标签: node.jsmongodbexpressmongoose

解决方案


数据库无法存储“/”,因为它将该字符用于其他事物,因此它转向 Unicode。

'/' 的 unicode 十六进制字符是:

/

我不确定您如何将其存储为纯文本,但是当从数据库请求返回时,它应该转换回来,如果不是,则必须有某种 NPM 包可以为您转换它。

此外,浏览器应该能够将 Unicode URL 解释为普通 URL。


推荐阅读