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({})