Heim > Fragen und Antworten > Hauptteil
MongoDB 可以这样写
db.getCollection('users').find({})
或者
db.users.find({})
这里的 db
是什么,在代码中应该怎样定义?
在 mongoose 通常这样写:
var User = require('../models/user')
User.find({})
怎样在 mongoose 中应该怎样定义 db
才可以也写作
db.users.find({})
这种写法?
黄舟2017-04-28 09:06:30
(⊙o⊙)… 你看看你的代码前面有木有
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/tasks');
这样的代码啊?db
其实就是一个mongoose的连接实例。
而你的User
是一个Model来的吧?你的代码应该差不多是这样的:
var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/tasks');
var schema = new mongoose.Schema({
name: String,
path: String
});
module.exports = mongoose.model('User', schema);
这样你就可以使用:
User.find({});
给我你的怀抱2017-04-28 09:06:30
module.exports = mongoose.model('User', schema);
应该像楼上说的那样,你的model文件里是像上面那样写的,这样的话只能像下面这样的写法。
var user = require('../model/user');
user.find({})
但是如果使用mongoose却非得要把写法写成db.users.find({}),可以在model文件里改一下也可以满足:
//model
module.exports = {
'users' : mongoose.model('User', schema)
}
//api
var db = require('../model/user');
db.users.find({})