• node 联表查询


    1.模拟插入1条订单数据

    MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) {
      if(err) throw err;
      var dbo = db.db('koa'); // koa 库名
      var obj = { _id: 1, product_id: 151, status: 1 }; // 模拟插入1条订单数据
      dbo.collection('orders').insertOne(obj, function(err, res) {
        if(err) throw err;
        console.log('文档插入成功');
        db.close();
      })
    });

    2.模拟插入3条产品数据

    MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) {
      if(err) throw err;
      var dbo = db.db('koa'); // koa 库名
      var obj = [
        { _id: 151, name: '笔记本电脑' },
        { _id: 152, name: '耳机' },
        { _id: 153, name: '台式电脑' }
      ]; // 模拟插入3条产品数据
      dbo.collection('products').insertMany(obj, function(err, res) {
        if(err) throw err;
        console.log('插入的文档数量为: ' + res.insertedCount);
        db.close();
      })
    });

    3.表关联 -- aggregate

    var MongoClient = require('mongodb').MongoClient;
    var url = require('./config/keys').mongoURI;
    
    /**
     * 表关联
     * aggregate
    */
    MongoClient.connect(url, { useNewUrlParser: true, useUnifiedTopology: true }, function(err, db) {
      if(err) throw err;
      var dbo = db.db('koa'); // koa 库名
      dbo.collection('orders').aggregate([ // 聚合函数
        {
          $lookup: {
            from: 'products',         // 右集合
            localField: 'product_id', // 左集合 join 字段
            foreignField: '_id',      // 右集合 join 字段
            as: 'order_details',      // 新生成字段(类型array)
          }
        }
      ]).toArray(function(err, res) {
        if(err) throw err;
        console.log(JSON.stringify(res));
        db.close();
      })
    });
    

    .

  • 相关阅读:
    Apache 性能配置优化
    大数据企业备份
    Docker限制容器可用的CPU
    docker运行容器后agetty进程cpu占用率100%
    Ubuntu下crontab命令的用法
    set -x与set +x指令
    CentOS设置程序开机自启动的方法
    maven 打JAR包资源文件指定路径与文件读取
    hadoop-maven项目打包成可执行的jar
    如何将maven项目打包成可执行的jar
  • 原文地址:https://www.cnblogs.com/crazycode2/p/15110268.html
Copyright © 2020-2023  润新知