簡體   English   中英

通過Express將MongoDB轉換為Jade

[英]MongoDB to Jade, through Express

我對如何最好地通過Express將數據從一個源最好地處理到另一個源感到困惑。 為了使這個過程盡可能簡短,我將簡單地寫一個“問題”的例子。 我已經嘗試閱讀此書,但是由於其中包含了很多部分,因此我在搜索中迷失了方向,所以我覺得我可能會問得更好。

無論如何,假設我有一個像這樣的MongoDB文件:

{
    "_id" : ObjectId("xxxYYY"),
    "cheese" : [ 
        {
            "value" : "true",
            "key" : "bleu",
            "table" : "cheeselist"
        }, 
        {
            "value" : "true",
            "key" : "gouda",
            "table" : "cheeselist"
        }
    ]
}

我通過控制器“發送”此命令,在我的Mongo模型中將上方的奶酪設置為數組:

Cheese.find(function (err, docs) {
  var CheeseChunks = [];
  var chunkSize = 3;
  for (var i = 0; i < docs.length; i += chunkSize) {
    CheeseChunks.push(docs.slice(i, i + chunkSize));
  }
  res.render('api/index', {
    url: req.url,
    cheeses: CheeseChunks
  });
})

最后,我在Jade模板中使用它:

each cheeseRow in cheeses
.row: each cheese in cheeseRow
    .col-md-4
        each key in cheese.cheese
            p= JSON.stringify(key)

如您所見,現在對我而言,查看值的唯一方法是對鍵進行字符串化,但是隨后我得到了整個字符串,而不僅僅是鍵值。 我之所以感到困惑,主要是因為我認為我在工作流程中早些時候犯了一個錯誤,這使它本應變得更加復雜。 我是對的還是在Jade模板中有簡單的方法來解決它? 還是應該將字符串另存為MongoDB等中的數組以外的其他內容?

提前致謝!

這應該給出您想要的輸出:

each cheeseRow in cheeses
    .row: each cheese in cheeseRow.cheese
        .col-md-4
             p= cheese.value
        .col-md-4
             p= cheese.key
        .col-md-4
             p= cheese.table

輸出:

<div class="row">
  <div class="col-md-4">
    <p>true</p>
  </div>
  <div class="col-md-4">
    <p>bleu</p>
  </div>
  <div class="col-md-4">
    <p>cheeselist</p>
  </div>
  <div class="col-md-4">
    <p>true</p>
  </div>
  <div class="col-md-4">
    <p>gouda</p>
  </div>
  <div class="col-md-4">
    <p>cheeselist</p>
  </div>
</div>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM