[英]Mongodb javascript query
我正在使用javascript文件查詢mongo數據庫。 我有一個for循環,我使用myArray.push(value)添加到myArray。
我的問題是當我在Robomongo中運行腳本時,我得到2個輸出 - 數組的長度(我不想要)和print語句(我想要)。
反正有沒有阻止腳本輸出數組的長度 - 是否有我應該使用的另一個函數.push ???
這是一些腳本:
var myArray = [];
var result = jobData['result'];
for(var i = 0; i < result.length; i++){
var collection = result[i].Tolerances;
for(var j = 0; j < collection.length; j++){
var cur = collection[j];
myArray.push(cur); // I do not want this value outputted
}
}
for(var x = 0; x < myArray.length; x++){
var value = myArray[x];
print("Currency From: "+value.FromCurrency+";Currency To: "+value.ToCurrency+";Tolerance: "+value.TolerancePercentage+");
};
如果需要更多細節,請告訴我。
您可以使用JavaScript的reduce()
和map()
方法構造新數組,而無需記錄新數組的長度。 以下示例演示了如何在您的情況下使用這兩種方法:
var jobData = {
result: [
{ Tolerances: ["foo", "bar"] },
{ Tolerances: ["abc", "def"] },
{ Tolerances: ["123", "456"] }
]
};
var myArray = [];
var result = jobData['result'];
var tolerances = result.map(function (r){
return r.Tolerances;
});
myArray = tolerances.reduce(function (a, b){
return a.concat(b);
});
printjson(myArray);
// prints ["foo","bar","abc","def","123","456"]
查看下面的演示。
var jobData = { result: [ { Tolerances: ["foo", "bar"] }, { Tolerances: ["abc", "def"] }, { Tolerances: ["123", "456"] } ] } var myArray = []; var result = jobData['result']; var tolerances = result.map(function (r){ return r.Tolerances; }) myArray = tolerances.reduce(function (a, b){ return a.concat(b); }) pre.innerHTML = "myArray: " + JSON.stringify(myArray, null, 4);
<pre id="pre"></pre>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.