新手问题 mongoose 查不出来数据库
发布于 10 年前 作者 zhishaofei3 9513 次浏览 最后一次编辑是 8 年前 来自 问答

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 回复

这是什么客户端?

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

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

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

@alsotang 真的假的。。?

我建议你试试这样 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); });

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

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

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

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

回到顶部