Open violet0sea opened 5 years ago
node里如何使用mongodb
npm install -S mongodb
写🌰时使用的koa,由于koa对于异步操作会直接返回404,所以使用async function等待异步操作完成后在返回数据
apiRouter.get('/mongo/list', async(ctx, next) => {
const mongoClient = mongodb.MongoClient;
const connection = await mongoClient.connect(URL, {
useNewUrlParser: true
});
const dbase = connection.db('test');
const result = await dbase.collection('data').find({}).toArray();
ctx.response.body = {
code: 0,
message: 'succ',
data: result
}
connection.close();
});
使用mongoose
npm install mongoose
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/test');
// 教程里使用了connection方法获取数据库实例
const db = mongoose.connection;
这里是一个pending connection,只有当连接状态发生变化时才会改变状态,pending to success or error,可以使用相应的监听函数
db.on('error', () => {
console.log('connection error!');
});
db.once('open', () => {
console.log('connection success.')
});
const Schema = mongoose.Schema;
const exampleSchema = new Schema({
name: String
});
const Example = mongoose.model('Example', exampleSchema);
const data = new Example({name: 'example'});
data.find({}, (err, data) => {
});
mac环境下的使用 1.配置环境变量,网上给出的export PATH=/bin:$PATH,设置环境变量成功使用sudo mongod启动后,打开新的terminal,输入mongo发现命令不存在,即上述方式只有在当前窗口的活动周期内存在,解决方法
修改~/.bash_profile文件
vim ~/.bash_profile
export PATH="/Users/dudulu/software/mongodb/bin:${PATH}"