错误试图使用聚合复制收集到另一个集合



我是新手的意思是堆栈,我正在尝试将整个数据从一个集合复制到另一个集合。我已经使用MongoDB软件包(V2(使用est function在nodejs中编写了API(v2。2.33(要实现它,但是会阻止应用程序。搜索并通过文档后,知道我应该使用"汇总"功能。它可以与MongoDB服务器控制台使用,但在NodeJS API中不正常。它说TypeError:未定义聚合。

这是我的API:

    router.get('/movedata', function(req,res,next){
    MongoClient.connect("mongodb://localhost:27017/new_db", function (err, 
    db) {

    db.Persons123.aggregate([{ $out: "mycopy"}]);

    // db.eval(function(err) {
    //  if(err) throw err;
    //    db.quotation_dummy_collections.copyTo("quotations");

    //    db.quotation_dummy_collections.remove( { } );
    // } );

   })
    });

我认为您需要收集对象,类似的东西:

router.get('/movedata', function(req,res,next){
    MongoClient.connect("mongodb://localhost:27017/new_db", function (err, 
    db) {

const personsCollection = db.collection('Persons123');
personsCollection.aggregate([{ $out: "mycopy"}]);

MongoDB服务器控制台的命令不完全应用于Node.js驱动程序。有关您的版本,请参阅此处的文档-http://mongodb.github.io/node-mongodb-native/2.2/

对于您的代码问题。尝试这个 -

MongoClient.connect("mongodb://localhost:27017/new_db", function(err, db) {
   if(err){
       console.log(err);
   }
   else{
       var collection = db.collection("Persons123");
       collection.aggregate([{
           $out:'"mycopy"'
       }]).toArray(function(err,items){
           if(err){
               console.log(err);
           }
           else{
               console.log(items);
           }
       });
   }
});

浏览了stackoverflow中的所有相关问题后。我找到了解决问题的方法。此链接帮助我https://stackoverflow.com/questions/13916004/mongo-copy-from-one-collection-to-another-another-the-same-db/13916163

这是我的代码:

    const pp = db.collection('quotation_dummy_collections');
    const pp01 = db.collection('quotations');

    pp.find().forEach(function(doc){
    pp01.insert(doc); 
    pp.remove({});
    });

在猫头鹰代码中尝试这些方法:

MongoClient.connect("mongodb://localhost:27017/", function (error, mongo) {
    if (error) throw error;
    
    let db = mongo.db("new_db");
    let persons = db.collection("Persons123");
    
    persons.aggregate([], { out: "mycopy"}, 
        function(err, result) {
            if(err) throw err;
            
            console.log(result);
            mongo.close();
        }
    );
});

persons.aggregate([], { out: "mycopy"});

persons.aggregate([{ out: "mycopy"}]);

persons.aggregate([{ $out: "mycopy"}]);

  • 从文档中获取:https://mongodb.github.io/node-mongodb-native/api-generated/collection.html

  • 如果它仍然不起作用,您可以尝试我的个人代码:https://github.com/matszrmn/nodejs_copy_collection

相关内容

  • 没有找到相关文章

最新更新