sql >> データベース >  >> NoSQL >> MongoDB

Jadeでmongodbドキュメントを表示するExpress

    https://naltatis.github.io/jade-syntax-docs/ view.jadeファイルに関する有用な情報があります

    index.jsには、mongoの結果を保持するための配列が必要です。

     var results_from_mongo = [];
    

    クエリから結果を取得するたびに、それを配列にプッシュしましょう(「配列に要素を挿入する」ための配列言語)

      results_from_mongo.push(doc); //Push result onto results_array
    

    次に、それをres.renderに送信する必要があります:

      res.render('index', {"results": results_from_mongo });
    

    したがって、index.jsで ファイル

    /* GET home page. and iterate, display the collection to console log. */
    router.get('/', function (req, res) {
        var MongoClient = require('mongodb').MongoClient
        var url = 'mongodb://localhost/EmployeeDB';
    
        var results_from_mongo = [];
    
        MongoClient.connect(url, function (err, db) {
            var str = db.collection('employee').find();
            str.each(function (err, doc) {
                    console.log(doc);   
                    results_from_mongo.push(doc); //Push result onto results_array
            });  
    
            //now we have a results array filled like this:
            // results_from_mongo = ["some string", "some string", "some string"]
           //so let's pass them to the jade file to render them.
    
          res.render('index', {"results": results_from_mongo });
    

    //これにより、JSON形式のデータが「index」(index.jade)というJADEファイルに渡されます

    この時点でのデータは次のようになります

        { "results" : ["some string", "some string", "some string"] } 
    

    index.jadeでは、次のようなことができます

    extends layout
    
    block content
    h1= title
    h2= "results from mongo:"
    select
      each mongo_result, i in results
        div Result #{i} #{mongo_result}
    


    1. 同時実行性-スレッドセーフな方法でJavaを介して挿入されたオブジェクトのMongoDBで生成されたIDを取得する

    2. $ unwindの前に、サブドキュメントが空でないかどうかを確認してください

    3. mongoDBへのRESTAJAXリクエスト

    4. mongoDBにネストされたクエリ