2014-06-24 38 views
0

基本上我想插入到我的Mongodb集合称为“事件”对象数组称为“事件”与数组中的每个条目的ID。如何插入一个对象数组到Mongodb node.js

这是我想在JSON得到结果:

{ 
    "events" : [ 
     { 
      "_id" : ObjectId("53a99cc608ad49712a830081"), 
      "eTitle" : "Freshers Fair", 
      "eDesc" : "Bring some friends with you oh wait, you have non ha !", 
      "eDate" : "2014-06-19 11:20", 
      "eLink" : "http://fair.com", 
      "eEvent" : "NEFS" 
     }, 

     { 
      "_id" : ObjectId("53a99cc608ad49712a830082"), 
      "eTitle" : "Blahh", 
      "eDesc" : "Blah fdinidf !", 
      "eDate" : "2014-06-19 11:20", 
      "eLink" : "http://google.com", 
      "eEvent" : "NEFS" 
     } 
    ] 
} 

到目前为止,这是结果我有:

[ 
{ 
    "_id":"53a9b5ed745363432d823d7a", 
    "eTitle":"jrnfdeiujn rd", 
    "eDesc":"grfdsreds", 
    "eDate":"2014-07-05 22:33", 
    "eLink":"reser", 
    "eEvent":"Victoria Center" 
}, 
{ 
    "_id":"53a9b771745363432d823d7b", 
    "eTitle":"Hello worlds", 
    "eDesc":"blah", 
    "eDate":"2014-07-20 22:33", 
    "eLink":"http://google.com", 
    "eEvent":"social" 
} 
] 

这是我如何与node.js的插入数据:

// Set our collection 
    var collection = db.get('Events'); 

    // Submit to the DB 
    collection.insert({ 
     "eTitle" : eTitle, 
     "eDesc" : eDesc, 
     "eDate" : eDate, 
     "eLink" : eLink, 
     "eEvent" : eEvent 
    }, function (err, doc) { 
     if (err) { 
      // If it failed, return error 
      res.send("There was a problem adding the information to the database."); 
     } 
     else { 
      // If it worked, set the header so the address bar doesn't still say /adduser 
      res.location("eventlist"); 
      // And forward to success page 
      res.redirect("eventlist"); 
     } 
    }); 

所以,请让我如何使格式看起来这是我提供的第一个json格式。对于nooby问题抱歉,刚开始学习节点!非常感谢

UPDATE

要发布活动:

router.get('/eventlist', function(req, res) { 
var db = req.db; 
var collection = db.get('Events'); 
collection.find({},{},function(e,docs){ 
    console.log(docs); 
    res.send(docs); 
    // res.render('eventlist', {docs: JSON.stringify(docs), title: 'Test'}); 
}); 

});

+0

不,它已经像她那样?您当前的JSON位于一个名为'Events' \ – tymeJV

+0

@tymeJV的集合中。事情是,我正在加载ios中的json对象,并且格式必须看起来像第一个。 :( – ipalibowhyte

+0

你的'Events'集合不会回吐集合名称作为第一个属性 - 为什么不在收到数据时手动添加它?'var events = {Events:data}' – tymeJV

回答

2

你可以这样做:

collection.find({},{},function(e,docs){ 
    var doc = { Events : docs }; 
    console.log(doc); 
    res.send(doc); 
    // res.render('eventlist', {docs: JSON.stringify(docs), title: 'Test'}); 
}); 
+0

非常感谢!!!!! @tymeJV你是一个野兽哈哈!你能推荐任何教程吗?谢谢你sooooooo了! – ipalibowhyte

+0

@ Pizzy213codes - 希望我有一个教程推荐 - 只是继续玩Mongo和Node,它将是第二天性在任何时间 – tymeJV

+0

谢谢,会做... – ipalibowhyte

相关问题