在路径“ ip”处将“猫鼬铸成数字”的值“ {ip:78}”失败?

时间:2019-03-06 22:06:51

标签: javascript node.js mongoose mongoose-schema

我创建了一个架构来保存IP地址。保存模型猫鼬时,我会返回:

  

ip:在路径“ ip”处,值“ {{ip:78}””的强制转换为数字失败

但是我的电话号码是整数,因此应该可以正常工作。

这是我的架构:

const mongoose = require("mongoose");
const Schema= mongoose.Schema;

var ChatSchema = new Schema({    
    // _id:ObjectId,
    ip:{required:true, type: Number},
    message: {required:true, type: Array},
    room: String
});

module.exports = mongoose.model("Chat", ChatSchema) 

这是我的socketEmit片段:

this.socket.emit("join", {
    ip: Math.round(Math.random() *100)
}

在我的server.js中,将数据保存在猫鼬中:

 if(ChatScanValue === undefined){ 
        console.log("!Chat.find(ip)")
        var prospectChat= new Chat({ip, message:["empty_chat"]})
        console.log("prospectChat: ", prospectChat)
        prospectChat.save((err, chatData) => { 
            if(err) throw err; 
            console.log("chat object created.")
 })

为什么失败?我想不通,我尝试对Chat中传递的对象进行一些操作,更改ip的值,更改猫鼬模型中的schemaType。我仍在寻找错误的原因。

任何提示都会很棒, 谢谢

0 个答案:

没有答案