搜尋

首頁  >  問答  >  主體

mongodb - mongo怎麼導出一個內嵌數組中的某些訊息

比如這樣

{
  "_id": 1,
  "array": [
    {"name": "a", "price": "2","amount":1},
    {"name": "b", "price": "2","amount":2},
    {"name": "c", "price": "3","amount":4}  
  ] 
}

我只想把name屬性和price屬性匯出,該怎麼做呢?用mongoexport似乎無法實現啊,諸位有什麼好的辦法嗎?求教了

伊谢尔伦伊谢尔伦2757 天前591

全部回覆(1)我來回復

  • 怪我咯

    怪我咯2017-05-02 09:21:33

    mongo支援js腳本,可以用javascript腳本批次處理和匯出資料:

    #!/usr/bin/env mongo
    db = db.getSiblingDB(db_name)
    // db.auth("user", "passwd");
    
    result = {};
    db.clt_name.find().forEach(function(r) {
        // 这里是回调函数,r就是每一条记录,是一个object对象,可以遍历r.array,把需要的属性存入result
    })
    
    for (var key in result) {
        // 按照你希望的格式输出:
        print(key + "\t" + result[key])
    }

    在mongo環境裡可以使用的functions見Write Scripts for the mongo Shell

    回覆
    0
  • 取消回覆