使用 MongoDB Stitch webhook 服务函数,如何将返回的 "insertedId" 转换为字符串?
Using MongoDB Stitch webhook service function, how can I convert the returned "insertedId" to string?
我正在为一个简单的 CRUD 应用程序创建 MongoDB Stitch http 服务(使用第 3 方服务 > 传入 Webhooks > 函数编辑器),我正在尝试插入一个()文档,然后 return 作为字符串的文档 ID。
插入按预期工作,我等待结果并将其存储在变量中。
const result = await collection.insertOne(payload.query)
const id = result.insertedId
问题是试图将此 id
转换为字符串。我猜这是由于我不了解 MongoDB Extended JSON 和 BSON 类型等。我已经阅读了我认为可以在此处提供解决方案的文档的所有部分。
我尝试了以下方法将 return 值转换为字符串:
id.toString() // logs as a string, but is an object { $oid: '507c7f79bcf86cd7994f6c0e' }
id.valueOf() // logs as a string, but is an object { $oid: '507c7f79bcf86cd7994f6c0e' }
id['$oid'] // undefined
Object.values(id.insertedId) // throws error: {"message":"'values' is not a function"}
id.str // undefined
result.str // undefined
不确定还能尝试什么,如果有人能在这里指出正确的方向以提供解决方案,我将不胜感激。
提前致谢。
在注意到文档的这一部分后找到了解决方案:
MONGODB STITCH > Functions > Reference > JSON & BSON
const result = await collection.insertOne(payload.query)
const id = JSON.stringify(
JSON.parse(
EJSON.stringify(result.insertedId)
).$oid
).replace(/\W/g,'');
将文档的 id 转换为字符串似乎有点老套,但现在可以用了。
我正在为一个简单的 CRUD 应用程序创建 MongoDB Stitch http 服务(使用第 3 方服务 > 传入 Webhooks > 函数编辑器),我正在尝试插入一个()文档,然后 return 作为字符串的文档 ID。
插入按预期工作,我等待结果并将其存储在变量中。
const result = await collection.insertOne(payload.query)
const id = result.insertedId
问题是试图将此 id
转换为字符串。我猜这是由于我不了解 MongoDB Extended JSON 和 BSON 类型等。我已经阅读了我认为可以在此处提供解决方案的文档的所有部分。
我尝试了以下方法将 return 值转换为字符串:
id.toString() // logs as a string, but is an object { $oid: '507c7f79bcf86cd7994f6c0e' }
id.valueOf() // logs as a string, but is an object { $oid: '507c7f79bcf86cd7994f6c0e' }
id['$oid'] // undefined
Object.values(id.insertedId) // throws error: {"message":"'values' is not a function"}
id.str // undefined
result.str // undefined
不确定还能尝试什么,如果有人能在这里指出正确的方向以提供解决方案,我将不胜感激。
提前致谢。
在注意到文档的这一部分后找到了解决方案: MONGODB STITCH > Functions > Reference > JSON & BSON
const result = await collection.insertOne(payload.query)
const id = JSON.stringify(
JSON.parse(
EJSON.stringify(result.insertedId)
).$oid
).replace(/\W/g,'');
将文档的 id 转换为字符串似乎有点老套,但现在可以用了。