簡體   English   中英

為什么我不能將 PriorityQueue 存儲到 MongoDB

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM