首页 > 解决方案 > 如何仅打印数据库的请求部分?

问题描述

我只想打印出国家名称和人口。

我按升序对它们进行了分类,并希望仅按该顺序打印出它们的名称和人口。当我尝试这样做时,我得到“未定义”。

当我打印我的函数时,我得到了整个列表,但在一个数组中。

const DataStore = require('nedb');
const db = new DataStore({filename: __dirname + '/countriesDB', autoload: true});
db.ensureIndex({ fieldName: 'country', unique: true }, function (err) {});

db.find({country: /^M/}).sort({ population: 1 }).exec(function (err, docs) {
if (err) {
    console.log("something is wrong");
} else {
    console.log("Name " + db.country + ", Population: " + db.population);
    console.log(docs);
}
});

我用我当前的代码得到这个:

Name undefined, Population: undefined

[ { country: 'Micronesia, Federated States of',
abbreviation: 'FM',
_id: 'yISdEnQoml9dJEpL',
city: 'Palikir',
dish: null,
location: 'Micronesia',
population: null },
  { country: 'Montserrat',
abbreviation: 'MS',
_id: '0GAqvRD9FbZRVvE3',
city: 'Plymouth',
dish: null,
location: 'Caribbean',
population: 11000,
area: 102 },

我想看到类似的东西:

名称: 密克罗尼西亚联邦, 人口: null

名称:蒙特塞拉特,人口:11000

标签: javascriptdatabasesearchprintingnedb

解决方案


我想到了。

for(var i = 0; i < 22; i+=1)
        {
            console.log("Name " + docs[i].country + ", Population: " + docs[i].population);
        }

推荐阅读