AM通過遍歷從MongoDB的文檔的AJAX。獲得元素重建一個ArrayObject的..Javascript - 從循環播放mongodb文檔重建數組對象?
的ArrayObject的幾乎是正確的,但它缺少所述陣列中的文檔之間逗號分開。
看來這就是爲什麼console.log(arrayObject[0].name);
是undefined
但嘗試的if/else語句,以排除在開始前一個逗號,跳過if
function reBuild(returnValue)
{
var docs = returnValue;
var returnedVal = [];
for (var i=0, length=docs.length; i < length; i++){
if (returnedVal === [])
{
returnedVal.push('{' + 'title: "' + docs[i].title + '", quantity: ' + docs[i].quantity + ', _id: "' + docs[i]._id + '"}');
}
else
{
returnedVal.push(', {' + 'title: "' + docs[i].title + '", quantity: ' + docs[i].quantity + ', _id: "' + docs[i]._id + '"}');
}
console.log(returnedVal[i]);
}
console.log(returnedVal[0].title);
}
的console.log(returnedVal [一世]);
[15:20:02.946] "{title: "Sample1", value: 2, _id: "530c12c66e6b0de318000001"}"
[15:20:02.946] ", {title: "Sample2", value: 4, _id: "530c12cc6e6b0de318000002"}"
通過不用彷徨
的MongoDB:
function getAll(res) {
db.collection('demo').find().sort({ value: 1 }).toArray(function (err, docs) {
console.log("Got the Docs: " + utils.inspect(docs));
// each doc looks like: { _id: ObjectID, title: 'string', quantity: int}
res.json({docs: docs});
});
}
文件看起來像這樣在終端控制檯:
[ { _id: 530c12c66e6b0de318000001,
title: 'Sample1',
quantity: 2 },
{ title: 'Sample2',
quantity: 4,
_id: 530c12cc6e6b0de318000002 } ]
正在找。獲得的MongoDB文檔的arrayObject
,建立var
從arrayObject使用object.foo
,然後重新構建一個arrayObject
的所有foobar,一旦排名..
有另一個函數可以處理排序的一些變量計算。
我們不需要管理數組 - 「returnedVal.push(','只是'.push(..'很好,刪除那個逗號,一切都會好起來的 –
爲什麼你要手工製作(無效)爲什麼不創建一個對象字面量的數組,然後'JSON.stringify'(和/或'.join()')它? –
所以,請擴展您使用的代碼,例如提供和示例的'returnValue'的數據,我們將看到發生了什麼 –