mongoose无法查询数据
 发布于 10 年前  作者 Krispomoho  5585 次预览  最后一次回复是 10 年前  来自 问答 

数据库名:pomoho, 里面有一个user的集合 db.png

"use strict";
var mongoose = require('mongoose');
var db = mongoose.createConnection('localhost','pomoho');
db.on('error', function (err) {logger.log('error', 'db error', err)});
db.once('open', function () {
	console.log("link database success")
});
var mySchema = new mongoose.Schema({
	name: 'string',
	age: 'number'
});
var user = mongoose.model('user', mySchema);
user.find(function (err, user) {
	if (err) {
		return next(err);
	}
	console.log(user)
});

按照我上面的写法,find()中的函数都不会执行; 但是按照下面的写法,user返回一个空数组。

"use strict";
var mongoose = require('mongoose');
var db = mongoose.createConnection('localhost','pomoho');
db.on('error', function (err) {logger.log('error', 'db error', err)});
db.once('open', function () {
	console.log("link database success")
});
var mySchema = new mongoose.Schema({
	name: 'string',
	age: 'number'
});
var user = db.model('user', mySchema);
user.find(function (err, user) {
	if (err) {
		console.log(err);
	}
	console.log(user)
});

我不知道哪里出了问题,mongoose能不能指定查询某一个集合中的数据。

7 回复
zkaip

user.find({},function (err, user) { if (err) { return next(err); } console.log(user) });

这样才行吧

Krispomoho

@zkaip 我试过了,没有用,依旧查询不出来

TimothyJin

@Krispomoho mongoose 默认生成的collection名字为users,是负数,不是user

Krispomoho

@TimothyJin 那我想连接user数据库怎么办?

Krispomoho

@TimothyJin 我把数据库中的集合名改为了负数,就能查出来了

TimothyJin

@Krispomoho 自己查看mongose 的 schema配置