为什么我不能将 PriorityQueue 存储到 MongoDB
Why can't I store a PriorityQueue into MongoDB
最近我决定用优先级队列替换数组,以便将我的用户作业列表存储到 MongoDB 中。我使用 NodeJS 和 ExpressJS 作为后端。我尝试存储的优先级队列来自外部包,可以通过 运行 在终端中使用以下命令安装:
yarn add js-priority-queue
出于某种原因,优先级队列在将其存储到 MongoDB 之前工作得很好。但是,下次我尝试将它从 MongoDB 中取出并使用时,它的功能就丢失了。我在架构中将其类型声明为 Schema.Types.Mixed。我是做错了什么还是无法将实例化的 class 对象存储到 MongoDB 中?
据我所知,当你将东西存储在 MongoDB 中时,它们存储为 extended JSON (EJSON)二进制格式 (BSON)
const { EJSON } = require('bson');
const test = EJSON.stringify({a: new Date(), foo:function(){console.log('foo');}})
console.log(test) // "{"a":{"$date":"2020-07-07T14:45:49.475Z"}}"
所以任何一种功能都丢失了。
最近我决定用优先级队列替换数组,以便将我的用户作业列表存储到 MongoDB 中。我使用 NodeJS 和 ExpressJS 作为后端。我尝试存储的优先级队列来自外部包,可以通过 运行 在终端中使用以下命令安装:
yarn add js-priority-queue
出于某种原因,优先级队列在将其存储到 MongoDB 之前工作得很好。但是,下次我尝试将它从 MongoDB 中取出并使用时,它的功能就丢失了。我在架构中将其类型声明为 Schema.Types.Mixed。我是做错了什么还是无法将实例化的 class 对象存储到 MongoDB 中?
据我所知,当你将东西存储在 MongoDB 中时,它们存储为 extended JSON (EJSON)二进制格式 (BSON)
const { EJSON } = require('bson');
const test = EJSON.stringify({a: new Date(), foo:function(){console.log('foo');}})
console.log(test) // "{"a":{"$date":"2020-07-07T14:45:49.475Z"}}"
所以任何一种功能都丢失了。