2017-11-18 89 views
0

我想获得所有的字段值(不是特定_id的字段名称)。 例如在{"_id":"hello","a":"1","b":"2","c":"3"} 这样做如何获得mongodb中只有fileld值?

var array = [] 

db.collection("example").find({ 
     "_id": "hello" 
    }) 
    .forEach(function(doc) { 
     Object.keys(doc).forEach(function(key) { 
      array.push(key) 
     }) 
    }); 

它返回所有提交的名称即["a","b","c"]但如何让只有["1","2","3"]

回答

1

Object.keys给你的字段名。试试这个:

db.collection("example").find({ 
     "_id": "hello" 
    }) 
    .forEach(function(doc) { 
     for (const key in obj) { 
      if (obj.hasOwnProperty(key)) { 
       array.push(obj[key]) 
      } 
     } 
    }); 
0

你可以试试这个打印只值:

db.collection.find({ 
     _id: 'hello' 
    }, { 
     _id: 0 
    }).forEach(function(doc) { 
     for (key in doc){ 
      print(doc[key]) 
     } 
    }) 
+1

虽然这可能回答这个问题,只是解释一对夫妇的话会很长的路要走。 – mmgross