【问题标题】:Mongoose converting & to &猫鼬转换 & 到 &
【发布时间】:2019-07-17 18:23:08
【问题描述】:

猫鼬存储和&

我在猫鼬中有一个架构,我正在使用下面的保存方法代码在集合中插入数据

// Schema
var userSchema = new Schema({
 payLoad: []
})

// in controller code
var userJson = {
payLoad: [JSON.stringify(req.body)]
}
var User = require('../models/userModel')
new User(userJson).save().then(function (res) {


})

它将数据存储在集合中,但是当 & 存在时,它会转换为 & 例如,如果有效负载有数据 Brothers & Sons 则在 mongodb 中它存储 Brothers & Sons

【问题讨论】:

  • 确定是Mongoose做的吗?!我发现req.body 更有可能已经包含&
  • 是的,是 Mongoose 做的。
  • 你已经验证了这个如何?是否可以通过简单的new User({ payLoad: [{ foo: '&bar' }] }).save() 重现?
  • 我已经为 Mongoose 开启了调试,它显示在我的终端和 model.insertOne() 内的有效负载中,在 insertOne 方法中它正在传递 &
  • 所以在 .save() 之前,它会说 '&',然后在 mongoose 的调试日志中会说 '&amp'?

标签: node.js mongodb mongoose mongoose-schema


【解决方案1】:

我发现我正在使用一个名为 require('mongoose-sanitizer') 的节点模块的问题,它将 & 替换为 &

【讨论】:

    猜你喜欢
    • 2015-03-29
    • 2021-11-06
    • 2017-10-27
    • 2014-06-20
    • 1970-01-01
    • 1970-01-01
    • 2014-04-21
    • 1970-01-01
    • 2021-04-18
    相关资源
    最近更新 更多