当我用这种方法查询我的mongodb数据库时:
app.get('/', function (req, res) {
user.find({}, {twitter: 0, _id: 0, __v:0,}, function (err, result) {
if (err) throw err;
console.log(result);
res.render('pages/index', {
path: result
});
});
});
我得到了这个结果:
{ meme: { imgs: 'http://localhost/public/Images/okro.jpg' } }
{ meme: { imgs: 'http://localhost/public/Images/1518530337363-okro.jpg' } }
{ meme: { imgs: 'http://localhost/public/Images/1518530481130-meme.jpg' } }
但我想要它返回imgs
字段中的实际值。
我想要这样的东西。
{'http://localhost/public/Images/okro.jpg'}
{'http://localhost/public/Images/1518530337363-okro.jpg'}
{ 'http://localhost/public/Images/1518530481130-meme.jpg' }
如何使用节点js在MongoDB中实现这一点?
答案 0 :(得分:1)
如果您不需要重复值,可以使用distinct
db.collection.distinct('meme.imgs')
答案 1 :(得分:0)
var mongoose = require('mongoose');
var Schema = mongoose.Types.ObjectId;
var condition1 = { $match: { 'twitter': { $eq: 0 } } };
var condition2 = { $match: { '_id': { $eq: 0 } } };
var condition3 = { $match: { '_id': { $eq: Schema('11111111111111111') } } };
var condition4 = { $match: { '__v': { $eq: 0 } } };
var project = { "$project": {
"imgs": '$meme.imgs'
}
};
user.find({}, {condition1,condition2,condition3,condition4,project}, function (err, result) {
})
答案 2 :(得分:-1)
您可以简单地解析结果。更新后的答案。
user.find({},{_id: 0,details:0,name:0 },function(err, docs){
docs.forEach(function(u) {
u=JSON.parse(JSON.stringify(u))
console.log(u.meme);
});
});