如何在mongoose中将字符串转换为mongoose.Types.ObjectId

时间:2018-04-05 13:15:44

标签: node.js mongodb mongoose

我只需在 modelSchema

中添加这样的字段
receiverId:[{ type : Schema.Types.ObjectId, ref: 'UserChat' }]

在控制器中:

var recievedIds = [];
recievedId = new mongoose.Types.ObjectId(recievedId);
recievedIds.push(recievedId);
console.log(typeof recievedId);
messageInfo.receiverId = recieverIds;
new UserChat(messageInfo).save().then((info)=>{
        res.send(info);
    }).catch((infoError) =>{
        res.send('FAILED_TO_SEND_MESSAGE');
    });

它将对象类型赋予不作为ObjectId 它还将空数组推入 mongodb 我尝试在上面的对象创建中删除新的mongoose 任何人都可以帮我创建一个ObjectId吗?

1 个答案:

答案 0 :(得分:0)

由于doc状态:ObjectId必须是12个字节的单个字符串或24个十六进制字符的字符串。

请确认您的receiverId符合该要求。