我只是不知道爲什麼它不工作((val.instruments是undefinded節點+ MongoDB的:找到集合
function getInstruments(callback) {
db.collection("settings", function(error, settings) {
settings.find({ "settings" : "settings" }, function (err, val) {
console.log('from getInstruments ' + val.instruments);
if (val.instruments==undefined) {
callback("");
} else {
callback(val.instruments);
}
});
});
}
方案:
{
"_id": {
"$oid": "508677a3e5089a6df291631a"
},
"settings": "settings",
"instruments": [
"1",
"2",
"3"
]
}
回報:
node app.js:
from getInstruments undefined
有何建議?謝謝。
UPD:修改代碼:
function getInstruments(callback) {
db.collection("settings", function(error, settings) {
settings.find({ "settings" : "settings" }).toArray(function(err, docs) {
console.dir(docs.instruments);
});
});
}
結果:
[ { _id: 508677a3e5089a6df291631a,
settings: 'settings',
instruments: [ '1', '2', '3' ] } ]
更改爲:
function getInstruments(callback) {
db.collection("settings", function(error, settings) {
settings.find({ "settings" : "settings" }).toArray(function(err, docs) {
console.dir(docs.instruments);
});
});
}
結果:
undefined
如何可以嗎?
問題是find找不到任何東西。它只是找不到我的對象 – f1nn
我沒有在你的筆記中看到val未定義。我只是看到val.instruments是未定義的。你是否嘗試輸出val? – Pat
是的,它返回一個對象並以純文本格式記錄它。實際上,它似乎可以找到一個對象,但是我不能在輸出中獲得[「1」,「2」,「3」]。 – f1nn