我应该手动将我的id插回到我刚刚插入的对象中

时间:2014-02-04 06:54:17

标签: mongodb meteor

在我的meteor应用程序中,我正在将文档插入我的数据库

    meeting =
        name: team.name
        time: new Date()
        active: true
        team:
            id: team._id
            name: team.name
        cards: cards


    id = share.Meetings.insert meeting

之后,我正在调用另一个函数传递我插入的对象

    SendAlertOut(meeting)

我注意到会议对象没有填充_id。这是因为mongodb只返回_id。

我想知道更好的做法就是像这样手动填充id

    id = share.Meetings.insert meeting

    meeting._id = id

    SendAlertOut(meeting)

或者我应该从数据库中取回对象吗?

    id = share.Meetings.insert meeting

    meeting._id = share.Meetings.find({_id : id})

    SendAlertOut(meeting)

手动将返回的id填充到文档中是否与从数据库中取回整个对象一样?

1 个答案:

答案 0 :(得分:2)

您应该使用insert回调来填充会议的ID;这样你可以避免第二次调用数据库,但你也可以保证id被定义。因此,它应该是这样的:

Meetings.insert(meeting, function(err, result) {
     if (err)
       alert('error')
     else {
       meeting._id = result
       SendAlertOut(meeting)
     }
})