【发布时间】:2016-09-27 07:51:27
【问题描述】:
我有一个 json 数据,我想将该 JSON 数据传递给 Mongo db 集合。 json数据是,
json=
{
"customerdetails" : {
"organId" : "sample",
"address" : {
"addressLine1" : "123213",
"postcode" : "RG16QX"
},
"customerName" : "don",
"dob" : "sample"
},
"transactiondetails" : {
"bankDetails" : {
"accountName" : "john",
"bankAddress" : "sample"
},
"brokerId" : "12345"
}
}
我只想将 customerdetails 详细信息 json 部分存储在一个集合中。然后我想获取插入的 json 的 id(_id":"nFNBY4GN6m6jjpNEY")..然后我想在客户详细信息值中替换此 id并将这个 json 插入另一个集合中。
{
"customerdetails" :{ "_id":"nFNBY4GN6m6jjpNEY"},
"transactiondetails" : {
"bankDetails" : {
"accountName" : "john",
"bankAddress" : "sample"
},
"brokerId" : "12345"
}
}
我使用的代码是
var jsondata=JSON.parse(json);
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
mongourl="*******";
MongoClient.connect(mongourl, function (err, db) {
console.log("inside mongo client");
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
var collection = db.collection('customerdetails');
collection.insert(jsondata.customerDetails, {safe:true},function (err, result) {
if (err) {
console.log("got error");
console.log(err);
} else {
var collectionid=result._id;
console.log("*********"+collectionid);
console.log("collection"+collection);
console.log('Inserted documents ");
}
});
}
但我无法插入到收藏中.. 而且,如果它被插入,我如何从集合中获取插入数据的 _id 并将其替换为键值并将剩余的 JSON 传递给另一个集合.. 有人可以提出任何想法。 顺便说一句,我在 bluemix 上使用 nodeapp 和 mongodb 服务。 谢谢
【问题讨论】:
-
你可以得到它作为 result.id。首先检查控制台中的结果值..并选择id。
-
result.id 就够了
-
尝试显示或控制你的结果
-
谢谢..但问题是它没有进入 MongoClient 并且没有打印任何控制台。你看到任何问题 der..我修改了代码
标签: javascript json node.js mongodb ibm-cloud