gpt4 book ai didi

node.js - req.session.id 不同于 req.session._id

转载 作者:可可西里 更新时间:2023-11-01 10:44:40 33 4
gpt4 key购买 nike

我想了解这是为什么:

req.session._id = doc._id;
req.session.id = doc._id;

console.log(typeof req.session._id); // object
console.log(typeof req.session.id); // string

console.log(req.session._id); // 4oqTbA06DcK9cIiU3tnK62Ic.0puZ9uPnIaghMBIQKaIbhIHYzeP8wtS3MXnzpi+yC1c
console.log(req.session.id); // 4fb01ad2ca42e9552d000001

所以,当我想这样做时:

var myID = req.session._id, myIDm = new BSON.ObjectID(myID); // don't bug
var myID = req.session.id, myIDm = new BSON.ObjectID(myID); // bug: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters

谢谢你告诉我所有关于这件事的信息!

最佳答案

问题是,_id 是由 mongodb 自动生成的,属于 ObjectID 类型,可以传递给 BSON.ObjectID() 而你获取具有相同 ID 的新 ObjectIdid 属性不受 mongodb 管理,如果您将此值放入 BSON.ObjectID() 构造函数,它会引发错误。预期的字符串必须是 12 个字节或长度为 24 的十六进制编码二进制(允许的字符是 a-f、A-F、0-9)。希望这会有所帮助。

关于node.js - req.session.id 不同于 req.session._id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10576209/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com