Javascript 将字符串作为对象读取的节点

Javascript 将字符串作为对象读取的节点,javascript,node.js,express,Javascript,Node.js,Express,我有以下代码: <a class="btn-primary btn" href="/employer/booth/<%= user._id.toString() %>" <% console.log(typeof user._id, user._id) %> target="_blank"> Preview your booth </a> 如果我这样做,那么传递一个字符串,我得到: (node:15508) Unha

我有以下代码:

<a class="btn-primary btn" href="/employer/booth/<%= user._id.toString() %>"
        <% console.log(typeof user._id, user._id) %>
   target="_blank">
    Preview your booth
</a>
如果我这样做,那么传递一个字符串,我得到:

(node:15508) UnhandledPromiseRejectionWarning: Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
at new ObjectID (/home/alex/Documents/Projects/ontario-job-portal/node_modules/mongodb-core/node_modules/bson/lib/bson/objectid.js:57:11)
at ObjectID [as ObjectId] (/home/alex/Documents/Projects/ontario-job-portal/node_modules/mongodb-core/node_modules/bson/lib/bson/objectid.js:38:43)
at router.get (/home/alex/Documents/Projects/ontario-job-portal/routes/employer.js:68:68)
at <anonymous>

那么,如何将用户的
\u id
作为字符串传递呢?

要获取id的十六进制表示形式,可以使用
.valueOf()
。这里有更多的方法和示例:

(node:15508) UnhandledPromiseRejectionWarning: Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters
at new ObjectID (/home/alex/Documents/Projects/ontario-job-portal/node_modules/mongodb-core/node_modules/bson/lib/bson/objectid.js:57:11)
at ObjectID [as ObjectId] (/home/alex/Documents/Projects/ontario-job-portal/node_modules/mongodb-core/node_modules/bson/lib/bson/objectid.js:38:43)
at router.get (/home/alex/Documents/Projects/ontario-job-portal/routes/employer.js:68:68)
at <anonymous>
"_id": {
    "$oid": "5bc9d28270e5375dfbfe17fd"
},