MongoDB查询特定结果

时间:2016-02-19 22:18:05

标签: mongodb

我的思维方式一直在思考sql这样做,并且似乎无法完全掌握使用mongodb shell来获得我想要的答案。我有一个集合,我想在其中返回多条信息,我将从中导出到csv文件中。

这是我正在看的系列:

"_id" : ObjectId("32eri3u8euhf748303"),
"email" : "userEmail@email.com",
"firstName" : "John",
"lastName" : "Johnson",
"classes" : {
    "kjsfd434892e38dsidf8e920" : {
        "_id" : ObjectId("kjsfd434892e38dsidf8e920"),
        "className" : "English 101"
     }
 }

我有一个用户列表,有些用户可以有多个班级。如何编写查询语句,以便为所有用户返回姓名,电子邮件地址和类?

1 个答案:

答案 0 :(得分:1)

在这里,使用:

var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/database_name';
MongoClient.connect(url, function (err, db) {
    if (err) {
        console.log('Unable to connect to the mongoDB server. Error:', err);
    } else {
        console.log('Connection established to', url);

var collection = db.collection('users');

collection.find({}, {"classes.kjsfd434892e38dsidf8e920.className": 1}).toArray(function (err, users) {
  if (err) {
    console.log(err);
  } else if (users.length) {
    console.log('Found:', users);
  } else {
    console.log('No users found');
  }
  db.close();
});
}
});