node.js - 如何在 NodeJS 中解析 MongoDB 文档字符串
问题描述
有没有办法将用户输入的 MongoDB 文档(字符串)解析为可以插入数据库的 mongodb/Mongoose 文档?
示例字符串
'{ "name": "Dave", "location_id" : ObjectId("5d8664a9b1b0ae25d60e0e42") }'
解决方案
是的,这可以通过使用来完成JSON.parse()
,不幸的是,如果您传递的数据确实有一个ObjectId()
作为您的问题中的示例字符串,这将失败,因为它是无效的 JSON。
假设您的示例字符串是错误的,并且您没有尝试传入对象 id,您可以这样做:
...
const client = await mongodb.connect("connection-string");
const doc = JSON.parse('{ "name": "Dave", "location_id" : "5d8664a9b1b0ae25d60e0e42" }');
await client.db("my-db").collection("my-data").insertOne(doc);
...
如果您传入无效的 JSON,例如,ObjectId
您将需要执行步骤将其删除并将其值作为字符串传递,然后location_id
在插入之前手动添加属性:
...
doc.location_id = new mongodb.ObjectID(doc.location_id);
...
推荐阅读
- matplotlib - 网格单元和用于突出显示它们的颜色网格之间的错位(在 Matplotlib 中)
- javascript - 基于移动设备上的选择选项隐藏/显示选择
- javascript - 每次打开终端时使用节点运行程序
- java - 在没有dom解析器的java中使用xpath获取属性计数
- sql - 将 Null 和空白列抓取到表中
- python - Jupyter Notebooks:在 Python 中读取 cvs 文件时遇到问题
- python - 向熊猫数据透视表中的列添加新行
- javascript - 我在 javascript 中的 innerHTML 分配命令不会自动更新 ui
- powershell - 从 Windows 10 命令提示符运行 PS1
- iframe - Google Docs 嵌入式视图未加载某些字体