在NodeJ中将对象从一个集合移动到另一个集合的最佳方法

时间:2015-07-02 00:52:30

标签: node.js mongodb mongodb-query mongojs

如何将对象从一个集合移动到另一个集合?什么是最简单,最安全的方法?我正在努力:

app.post('/doneList/:id',function(req, res){
    var id = mongojs.ObjectId(req.params.id);
    var oneTodo;
    db.todoList.findOne({_id: id},function(err,docs){
        db.doneList.insert(docs,function(err,doc){
            res.json(doc);
        });

    }); 
    db.todoList.remove({_id: id});
});

但是当我尝试它时会崩溃。

2 个答案:

答案 0 :(得分:2)

你通常需要工作"内部"回调,但.findAndModify()在这里也可能更清洁:

.findAndModify()

这样就可以删除文件"在检索内容的同时从集合中获取。当然,当匹配实际文档时,您只需var opener = 'As Gregor Samsa awoke one morning from uneasy dreams he found himself transformed in his bed into a gigantic insect'; 并且"内部"来自最初G操作的回调。

少了几次调用数据库,少了一层嵌套。

答案 1 :(得分:1)

更新:没关系。与Blakes Seven的答案一起,更好。

崩溃是因为你要在回调中插入之前删除。

试一试:

mouse_over