新手问题 mongoose 查不出来数据库
 发布于 11 年前  作者 zhishaofei3  10433 次预览  最后一次回复是 10 年前  来自 问答 

wq.jpg

var mongoose = require(“mongoose”); var kittySchema = mongoose.Schema({ name: String, age: String }); var Kitten = mongoose.model(“jj”, kittySchema); mongoose.connect(“mongodb://localhost/nodeTest”, function (err) { if (!err) { console.log(“connected to mongoDB”); } else { throw err; } }); Kitten.find(function(err, data){ console.log(data); });

查出来的是[] 是什么原因啊? 我不知道应该在哪里体现我的表名 jj

15 回复
i5ting

这是什么客户端?

yuedun

Kitten.find(function(err, data){ console.log(data); }); 你确定不需要查询条件?model.find({},function)

alsotang

mongoose 会把表名变成复数。你的 jj 不懂是不是被它变成了 jjs

zhishaofei3

@hpgt Kitten.find({}, function(err, data){ console.log(data); }); 也一样是[]

hliu2008

我建议你试试这样 var mongoose = require(“mongoose”); var kittySchema = mongoose.Schema({ name: String, age: String }); mongoose.model(“jj”, kittySchema); var db = mongoose.connect(“mongodb://localhost/nodeTest”, function (err) { if (!err) { console.log(“connected to mongoDB”); } else { throw err; } }); var Kitten = db.model(‘jj’); Kitten.find(function(err, data){ console.log(data); });

alsotang

@zhishaofei3 关键你发出去的请求查询的可能不是 jj 表

FySuper

@zhishaofei3 而且你可以save一个试试,你就会发现你的库里面多了个jjs表。这是mongoose默认的。。但是是可以改的。你查一下api,后面可以是可以带上你的表名的.

zhishaofei3

@alsotang @FySuper 确实多了一个jjs表,锁定问题就好办了,我试着找找解决办法,谢谢两位

asfman

mongoose.model(‘tableName’, schem); 发现model的第一个参数tableName 居然不是实际的表名,很蛋疼的坑