Mongoose 说我有 46 条记录,mongoDB 说我有 0 条记录?
Posted
技术标签:
【中文标题】Mongoose 说我有 46 条记录,mongoDB 说我有 0 条记录?【英文标题】:Mongoose is saying I have 46 records, mongoDB says I have zero? 【发布时间】:2011-08-26 23:18:25 【问题描述】:以下测试脚本显示我有 46 条记录:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;
var DealSchema = new Schema(
title : String,
);
var Deal = mongoose.model('Deal', DealSchema);
mongoose.connect('mongodb://localhost/dealsite');
mongoose.connection.on("open", function()
console.log("Mongoose connected");
Deal.count(, function( err, count)
console.log( "Records:", count );
)
);
输出:
$ node testmongo.js
Mongoose connected
Records: 46
如果我尝试使用 mongo shell 读取数据线,我会得到不同的结果:
$ mongo localhost/dealsite
MongoDB shell version: 1.4.4
url: localhost/dealsite
connecting to: localhost/dealsite
type "exit" to exit
type "help" for help
> db.dealsite.count()
0
> db.dealsite.Deal.count()
0
我的记录藏在哪里?
【问题讨论】:
【参考方案1】:在 MongoDB 中,尝试:
use dealsite
db.deals.count()
如果您创建一个名为“Deal”的 Mongoose 模型,它将创建并使用一个名为“deals”的 MongoDB 集合。
【讨论】:
【参考方案2】:你错过了声明:
"use Deal" [ use DATABASE_NAME ]
做之前
db.dealsite.count()
【讨论】:
当我以这种方式连接到数据库时,它已经在使用dealsite
数据库。我也试过手动选择数据库,但没有效果。手册中有这种连接方式的例子:mongodb.org/display/DOCS/…
是的,没有看到您的连接字符串。对不起 。您的收藏中的 FIND 或 FINDONE 会返回什么?以上是关于Mongoose 说我有 46 条记录,mongoDB 说我有 0 条记录?的主要内容,如果未能解决你的问题,请参考以下文章
Mongo (+Mongoose) 错误:无法找到 $geoNear 查询的索引