将 JavaScript 文件中的对象插入到 mongo 中
Inserting an object in a JavaScript file into mongo
我有一个在JavaScript文件中创建的对象,基本上看起来像这样。
{ name1:
{'category 1' : {'stat1': 1, 'stat 2': 1},
'category 2' : {'stat1': 1, 'stat 2': 1}},
name2...}
我想将这个对象插入到我在 mongo 中的数据库中。我得到的错误是
Error: invalid schema, expected mongodb
它指向我的代码中的这一行。
MongoClient.connect(url, function (err, db){
if (err)...
else{
var collection = db.collection("mydb");
//this function is giving an error
collection.insert(myObj, function(err, result) {
if(err){console.log(err);}
else...
我怀疑这可能是因为我的对象格式不兼容,无法处理 mongo,在这种情况下,我的问题是如何将其转换为可用的格式?
如果你去 jsonlint.com
您会发现您的对象不是有效的 JSON 对象。
要创建一个有效的 JSON 对象,您可以执行以下操作:
var myObj = {};
myObj.name1 = {};
myObj.name1.category1 = {};
myObj.name1.category1.stat1 = 1;
myObj.name1.category1.stat2 = 1;
myObj.name1.category2 = {};
myObj.name1.category2.stat1 = 1;
myObj.name1.category2.stat2 = 1;
理想情况下,name1对象应该是一个数组,然后应该包含category1和category2对象作为数组的元素。此外,myObj 也应该是一个数组,然后应该包含 name1 和 name2 对象作为元素。然后你可以使用 MongoDB 的 insertMany 函数来插入数组。
所以假设你有数组作为:
var myObjs = [];
var obj1 = {};
obj1.name1 = {};
obj1.name1.category1 = {};
obj1.name1.category1.stat1 = 1;
obj1.name1.category1.stat2 = 1;
obj1.name1.category2 = {};
obj1.name1.category2.stat1 = 1;
obj1.name1.category2.stat2 = 1;
myObjs.push(obj1);
collection.insertMany(myObjs, function(err, result){
if(err) console.log(err);
else console.log('Documents inserted successfully');
});
在插入之前,请始终确保您的对象是有效的 JSON 对象。
你应该使用insertOne而不是inserthttps://docs.mongodb.org/getting-started/node/insert/
相关文章:
- 如果子文档值不存在,则 Mongo DB 插入到子文档中
- 节点 JS / Mongo 插入而不匹配模式
- MongoDB - 无法将 Mongo 对象插入 db
- 将 JavaScript 文件中的对象插入到 mongo 中
- 通过 mongo shell 将 Date() 插入到 Mongodb 中
- 将一个对象作为相同的文档插入到MONGO中
- 收集后POST响应错误.插入NodeJS Mongo模块
- 如何从JSON文件将日期插入mongo
- 将Mongo Collection数据插入数组
- 异步返回已插入post的_id到Mongo collection中
- 在节点中插入新的mongo文档时,保存没有ObjecID部分的_id
- Meteor.js,Mongo:可以向用户插入新的文档或参数.来自客户端的配置文件
- 流星mongo插入唯一的文档
- mongo/ monid批量插入文档的MapReduce
- 将csv文件内容从angular js传递到node js,并在node js中解析以插入mongo db
- Mongo't不接受插入重复的用户名
- 如何使用Node将记录插入mongo,其中记录具有$oid
- Meteor中的Mongo集合正在插入垃圾
- 在 NodeJS 中获取 Mongo 数据库中插入文档的_id
- 连接mongo和插入帖子最简单的几行代码是什么?