MongoDB 和 Mongoose 查询语句写法有什么不同?
世界只因有你
世界只因有你 2017-04-28 09:04:30
0
3
770

MongoDB 可以这样写

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

或者

db.users.find({})

这里的 db 是什么,在代码中应该怎样定义?

在 mongoose 通常这样写:

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

怎样在 mongoose 中应该怎样定义 db 才可以也写作

db.users.find({})

这种写法?

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

membalas semua(3)
黄舟

(⊙o⊙)… Lihat bahagian hadapan kod anda untuk melihat sama ada terdapat apa-apa

var mongoose = require('mongoose');
var db = mongoose.connect('mongodb://localhost/tasks');

Kod sedemikian? dbMalah, ia adalah contoh sambungan mongoose.

Dan User anda berasal daripada Model, bukan? Kod anda sepatutnya kelihatan seperti ini:

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);

Jadi anda boleh menggunakan:

User.find({});
漂亮男人

db ialah objek operasi pangkalan data bagi operasi semasa, yang merujuk kepada pangkalan data yang ditukar menggunakan use db

给我你的怀抱
module.exports = mongoose.model('User', schema);

Ia sepatutnya seperti yang dinyatakan di atas. Fail model anda ditulis seperti di atas, ia hanya boleh ditulis seperti berikut.

var user = require('../model/user');
user.find({})

Tetapi jika anda menggunakan mongoose, anda perlu menulisnya sebagai db.users.find({}) Anda boleh menukarnya dalam fail model:

//model
module.exports = {
    'users' : mongoose.model('User', schema)
}

//api
var db = require('../model/user');
db.users.find({})
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan