[英]Why can't I store a PriorityQueue into MongoDB
最近我決定用優先隊列替換 arrays,以便將我的用戶作業列表存儲到 MongoDB 中。 我使用 NodeJS 和 ExpressJS 作為后端。 我嘗試存儲的優先級隊列來自外部 package,可以通過在終端中運行以下命令來安裝它:
yarn add js-priority-queue
由於某種原因,優先級隊列在將其存儲到 MongoDB 之前可以完美運行。 但是,下次我嘗試從 MongoDB 中取出並使用它時,它的功能就丟失了。 我在 Schema 中將其類型聲明為 Schema.Types.Mixed。 我做錯了什么還是無法將實例化的 class 對象存儲到 MongoDB 中?
據我所知,當您將內容存儲在 MongoDB 中時,它們以二進制格式 (BSON) 存儲為擴展JSON (EJSON)
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"}}"
所以任何類型的 function 都會丟失。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.