无法从 Node.JS 中的对象获取字符串
Can't get string from object in Node.JS
我尝试连接我的 MongoDB 数据库。我使用 Node.js 和 Express.js.
我尝试创建模式并将对象解析为 JSON,但不起作用。
这是 index.js:
var express = require('express');
var router = express.Router();
var mongodb = require('mongodb');
var mongoose = require('mongoose');
var util = require('util');
var serwer = new mongodb.Server('127.0.0.1', 27017);
var mesons;
new mongodb.Db('test',serwer).open(
function(err,client){
if (err) throw err;
console.log('Polaczyles sie baza Mongo');
mesons = new mongodb.Collection(client,'mesons');
});
var mesonsSchema = new mongoose.Schema({
Name: String,
Mass: String,
Charge: String,
LifeTime: String,
AntiParticle: String,
Type: String,
Width: String,
IJPC: String,
MagneticMoment: String
});
var mesonsModel = mongoose.model('mesons', mesonsSchema );
/* GET home page. */
router.get('/', function(req, res, next) {
return mesonsModel.find(function( err, mesons) {
if( !err ) {
return res.json( mesons );
} else {
console.log( err );
return res.json( { error: 'No data returned'} );
}
});
});
module.exports = router;
当我连接 localhost 时没有结果,没有错误并且正在加载和加载...
您需要确保启动到数据库的 mongoose 连接。看起来连接没有建立,所以 mesonsModel.find
调用只是挂起。
您可以通过 mongoose 连接,而不是直接连接 mongodb 驱动器:
mongoose.connect('mongodb://127.0.0.1:27017/test');
可以等待监听open事件看是否连接成功:
mongoose.connection.once('open', function (callback) {
// now you can query the database
});
您应该删除整个 mongodb.Db()
调用
我尝试连接我的 MongoDB 数据库。我使用 Node.js 和 Express.js.
我尝试创建模式并将对象解析为 JSON,但不起作用。
这是 index.js:
var express = require('express');
var router = express.Router();
var mongodb = require('mongodb');
var mongoose = require('mongoose');
var util = require('util');
var serwer = new mongodb.Server('127.0.0.1', 27017);
var mesons;
new mongodb.Db('test',serwer).open(
function(err,client){
if (err) throw err;
console.log('Polaczyles sie baza Mongo');
mesons = new mongodb.Collection(client,'mesons');
});
var mesonsSchema = new mongoose.Schema({
Name: String,
Mass: String,
Charge: String,
LifeTime: String,
AntiParticle: String,
Type: String,
Width: String,
IJPC: String,
MagneticMoment: String
});
var mesonsModel = mongoose.model('mesons', mesonsSchema );
/* GET home page. */
router.get('/', function(req, res, next) {
return mesonsModel.find(function( err, mesons) {
if( !err ) {
return res.json( mesons );
} else {
console.log( err );
return res.json( { error: 'No data returned'} );
}
});
});
module.exports = router;
当我连接 localhost 时没有结果,没有错误并且正在加载和加载...
您需要确保启动到数据库的 mongoose 连接。看起来连接没有建立,所以 mesonsModel.find
调用只是挂起。
您可以通过 mongoose 连接,而不是直接连接 mongodb 驱动器:
mongoose.connect('mongodb://127.0.0.1:27017/test');
可以等待监听open事件看是否连接成功:
mongoose.connection.once('open', function (callback) {
// now you can query the database
});
您应该删除整个 mongodb.Db()
调用