zoukankan      html  css  js  c++  java
  • 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();
      })
    });
    

    .

  • 相关阅读:
    Java [leetcode 33]Search in Rotated Sorted Array
    JAVA方法和本地方法(转载)
    Java集合框架
    常用排序算法
    Java [leetcode 32]Longest Valid Parentheses
    四大组件的生命周期
    Android Service即四大组件总结
    Java [leetcode 31]Next Permutation
    android 组件设置屏幕大小
    MenuInflater用法
  • 原文地址:https://www.cnblogs.com/crazycode2/p/15110268.html
Copyright © 2011-2022 走看看