MongoDb find()返回很多不需要的字段(MongoDb find() returns a lot of unwanted fields)

编程入门 行业动态 更新时间:2024-10-25 15:25:40
MongoDb find()返回很多不需要的字段(MongoDb find() returns a lot of unwanted fields) app.get('/',function(req,res){ var response={}; db.collection('first').find({},function(err,result){ if(err){ db.close(); console.log('Error'); console.log(err); } else{ db.close(); console.log('Success'); console.log(response); } }); res.end(response); });

但是,这会返回大量不需要的数据。 我也查看了这些数据,但我没有看到集合中的输入值/字段。 我希望它只将字段值作为JSON对象返回。 我应该怎么做?

示例输出:(太多张贴所有内容)

Readable { connection: null, server: null, disconnectHandler: { s: { storedOps: [], storeOptions: [Object], topology: [Object] }, length: [Getter] }, bson: {}, ns: '****', cmd: { find: '******', limit: 0, skip: 0, query: {}, slaveOk: true, readPreference: { preference: 'primary', tags: undefined, options: undefined } }, options: { skip: 0, limit: 0, raw: undefined, hint: null, timeout: undefined, slaveOk: true, readPreference: { preference: 'primary', tags: undefined, options: undefined }, db: EventEmitter { domain: null, _events: {}, _eventsCount: 0, _maxListeners: undefined, s: [Object], serverConfig: [Getter], bufferMaxEntries: [Getter], databaseName: [Getter], options: [Getter], native_parser: [Getter], slaveOk: [Getter], writeConcern: [Getter] }, promiseLibrary: [Function: Promise], disconnectHandler: { s: [Object], length: [Getter] } }, topology: EventEmitter { domain: null, _events: { reconnect: [Function], timeout: [Object], error: [Object], close: [Function], destroy: [Object] }, _eventsCount: 5, _maxListeners: undefined,

和更多......

谢谢。

app.get('/',function(req,res){ var response={}; db.collection('first').find({},function(err,result){ if(err){ db.close(); console.log('Error'); console.log(err); } else{ db.close(); console.log('Success'); console.log(response); } }); res.end(response); });

However, this returns a lot of unwanted data. I looked through that data too, but I do not see the entry values/fields made in the collection. I want it to return field values only as a JSON object. How should I do this ?

Sample output: (Too much to post everything)

Readable { connection: null, server: null, disconnectHandler: { s: { storedOps: [], storeOptions: [Object], topology: [Object] }, length: [Getter] }, bson: {}, ns: '****', cmd: { find: '******', limit: 0, skip: 0, query: {}, slaveOk: true, readPreference: { preference: 'primary', tags: undefined, options: undefined } }, options: { skip: 0, limit: 0, raw: undefined, hint: null, timeout: undefined, slaveOk: true, readPreference: { preference: 'primary', tags: undefined, options: undefined }, db: EventEmitter { domain: null, _events: {}, _eventsCount: 0, _maxListeners: undefined, s: [Object], serverConfig: [Getter], bufferMaxEntries: [Getter], databaseName: [Getter], options: [Getter], native_parser: [Getter], slaveOk: [Getter], writeConcern: [Getter] }, promiseLibrary: [Function: Promise], disconnectHandler: { s: [Object], length: [Getter] } }, topology: EventEmitter { domain: null, _events: { reconnect: [Function], timeout: [Object], error: [Object], close: [Function], destroy: [Object] }, _eventsCount: 5, _maxListeners: undefined,

and more......

Thank you.

最满意答案

首先,你正在记录并发送一个空的response对象。 您的问题来自语法, find()只接受一个参数并返回一个游标,您必须在循环内调用next()以获取每个文档或调用toArray()以一次获取所有文档:

app.get('/', function (req, res) { db.collection('first').find({}).toArray(function (err, docs) { db.close(); if (err) { console.log('Error'); console.log(err); res.end(); } else { console.log('Success'); console.log(docs); res.json(docs); } }); });

First of all, you're logging and sending back an empty response object. Your issue come from the syntax, find() takes only one parameter and returns a cursor, you have to call next() on it inside a loop to get every document or call toArray() to get all documents at once:

app.get('/', function (req, res) { db.collection('first').find({}).toArray(function (err, docs) { db.close(); if (err) { console.log('Error'); console.log(err); res.end(); } else { console.log('Success'); console.log(docs); res.json(docs); } }); });

更多推荐

本文发布于:2023-07-17 10:10:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1142794.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:不需要   字段   find   MongoDb   fields

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!