mongoose文档转换为JSON
mongoose document to JSON
我正试图将一组mongoose文档作为普通的旧JavaScript对象返回。我有一个user.js
模块,它处理数据库的查询-
module.exports = function() {
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'connection error:'));
db.once('open', function callback() {
console.log('connection successful');
});
var outingSchema = mongoose.Schema({
id : String,
location : String,
date : Date,
participantCount : Number,
confirmedParticipantCount : Number,
group : String
});
var Outing = mongoose.model('Outing', outingSchema);
this.dashboard = function() {
var result = Outing.find({}, function(err, outings) {
console.log('##################');
});
db.close();
return result;
}
}
这是我的主要server.js
文件-
io.of('/user').on('connection', function(socket) {
console.log('Incoming connection to ' + socket.namespace.name);
var User = require('./real/user.js');
var UserObject = new User();
socket.on('dashboard', function(data) {
socket.send(JSON.stringify(UserObject.dashboard(), null, 3));
})
});
就目前情况来看,这总是会导致一个异常——
TypeError: Converting circular structure to JSON
我认为发生这种情况是因为mongoose Document对象具有某种圆形结构。如何让dashboard()
方法只返回可以使用JSON.stringify()
转换为JSON的常规JavaScript对象?
我已经尝试在每个文档上循环outings' and calling the
toObject()`方法,但这也只是返回mongooseDocument对象。
同样奇怪的是,据我所知,语句console.log('##################');
从未执行过(我在控制台中看不到输出)。这是因为它在回调函数中吗?其他回调函数中的其他console.log()
语句工作正常。
您需要将"dashboard"函数作为回调函数。
this.dashboard = function(callback) {
Outing.find({}, callback);
};
您很少希望在使用node的请求之间关闭数据库。
socket.on('dashboard', function(data) {
UserObject.dashboard(function(err, results){
if(err){
//send the error to the socket
}
socket.send(JSON.stringify(results);
});
});
相关文章:
- DOM事件通过JSON转换为java
- 将日期时间从json转换为可读格式
- 如何将JSON转换为HTML下拉菜单
- 将JSON转换为放入Sdcard中的CSV文件
- 将JSON转换为typescript中的字符串数组
- 无法在Angular.js中将JSON转换为数组
- 使用jquery将json转换为数组
- 是否有将基于字符串的JSON转换为Mongoose Schema对象实例的本地功能
- 用D3js将JSON转换为SVG平面图
- 数组json转换为数组json
- 将JSON转换为特定的字符串格式
- 使用AJAX将JSON转换为PHP
- 使用JQuery将JSON转换为数组
- 使用 PHP 将 JSON 转换为 JavaScript
- 将 JavaScript 程序从 JSON 转换为 XML
- 将 JSON 转换为 CSV 格式
- 将 json 转换为 html 表的 JavaScript 不起作用
- 使用 D3 将分层 JSON 转换为 HTML
- 余烬原始 JSON 转换不起作用,但例外
- 如何将JSON转换为角度的HTML