MongoDB,如何获取刚刚在Embedded文档中创建的ObjectId?

时间:2016-07-09 15:32:14

标签: node.js mongodb

我正在创建一个Post&评论,我设计发布包含评论。 "注释"是嵌入文档(Object Array)字段,包含注释信息,并使用" _id"作为唯一标识符。这是代码(注意我使用Node.js和额外的mongoDB库):

db.update('posts', {
    _id: new ObjectID(postId)
}, {
    $push: {
        comments: {
            _id: new ObjectID(),
            author: comment.author,
            email: comment.email,
            text: comment.text
        }
    }
}) ...

看看$ push,你可以看到我创建了新的ObjectId。它运行良好,但我想将刚刚创建了评论的 _id 发回给客户端,因此make客户端可以在不刷新页面的情况下擦除或编辑。如何获取刚刚创建嵌入文档的_id?

1 个答案:

答案 0 :(得分:0)

创建id时如何将它们设置为变量:

var id1=new ObjectID(postId);
var id2=new ObjectID();

db.update('posts', { _id: id1 },
 { $push:
 { comments: { _id: id2, 
    author: comment.author,
    email: comment.email, 
    text:   comment.text } } }) ...