Session 使用MongoDB将会话另存为BSON,而不是node.js上的字符串

Session 使用MongoDB将会话另存为BSON,而不是node.js上的字符串,session,mongodb,node.js,bson,Session,Mongodb,Node.js,Bson,我将node.js与express一起使用,并将connect mongo用作会话存储。在mongo中检查会话集合时,每个数据集中只有_id属性和会话属性。会话属性的值是一个字符串。有没有办法将会话数据存储为BSON?也许我不太明白您的问题,但MongoDB已经使用BSON存储了所有内容。因此,如果您甚至将其按原样存储到会话集合中,它将被转换为JSON字符串 参考: 编辑: 还可以看看这个> 这在您的特定场景中可能会有所帮助。这就是这个特定中间件的工作方式,尽管谁知道为什么会这样做 它在将会话对

我将node.js与express一起使用,并将connect mongo用作会话存储。在mongo中检查会话集合时,每个数据集中只有_id属性和会话属性。会话属性的值是一个字符串。有没有办法将会话数据存储为BSON?

也许我不太明白您的问题,但MongoDB已经使用BSON存储了所有内容。因此,如果您甚至将其按原样存储到会话集合中,它将被转换为JSON字符串

参考:

编辑:

还可以看看这个>


这在您的特定场景中可能会有所帮助。

这就是这个特定中间件的工作方式,尽管谁知道为什么会这样做

它在将会话对象保存到mongodb时将其转换为json字符串,在再次读取时将其转换回对象


如果希望会话对象存储为mongodb中的同一对象,我建议切换到替代中间件。connect mongodb的连接与connect mongo有点不同,但一旦您建立了连接,api的其余部分就会相同,因此您现有的代码应该可以正常工作。

哇,术语JSON对象真的很流行。它可能会成为与XML无关的XMLHttpRequest这样的误称之一。@Matt为什么这个JSON不是JSON?我看不到与您的文章的联系,因为MongoDB的数据存储是为JSON制作的,因此node.js中使用的对象不应该字符串化。事实上,这正是我问题的重点。您使用了术语JSON对象。JSON是一种字符串格式。我将其更改为MongoDB特定的术语BSON。我认为这是一个node.js特定的问题,因为我认为MongoDB connect会话处理程序已经可以这样管理它了。