MongoDB 和 Mongoose 查詢語句寫法有什麼不同?
世界只因有你
世界只因有你 2017-04-28 09:04:30
0
3
787

MongoDB 可以這樣寫

db.getCollection('users').find({})

db.users.find({})

這裡的 db 是什麼,在程式碼中應該怎麼定義?

在 mongoose 通常這樣寫:

var User = require('../models/user')
User.find({})

怎麼在 mongoose 中應該怎麼定義 db 才可以也寫作

db.users.find({})

這種寫法?

世界只因有你
世界只因有你

全部回覆(3)
黄舟

(⊙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({});
漂亮男人

db 是目前操作的資料庫操作對象,是指使用 use db 切換到的資料庫

给我你的怀抱
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({})
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板