0

使用 MongoDB 和 Mongoose,数据库文件保存在哪里?我在本地节点设置上运行以下代码,使用 mongo shell 时找不到数据库。请帮忙。

# coffescipt: 

mongoose = require('mongoose')

mongoose.connect('mongodb://127.0.0.1/testData');
db = mongoose.connection
db.once 'open', ->
  console.log 'Connected to MongoDB'

dataSchema = mongoose.Schema {type: String, success: Boolean}
Data = mongoose.model('Data', dataSchema)

talon = new Data {type: 'data', success: false}

talon.save (err, talon) ->
  console.log "#{talon.type} Added to DB"

Data.find (err, data) ->
  if err
    console.error 'No data found :('
  else
    console.log data

我查看了所有使用的可见数据库,show dbs并且 Mongoose 提交的数据都没有在其中任何一个中,但是当 Mongoose 运行时,Data.find (err, data) ->它会显示插入文档的完整列表。

我只想能够通过 mongo 命令行使用数据库,然后使用 Mongoose 为我的 Web 应用程序操作它。

谢谢你的帮助。

4

2 回答 2

1

抱歉,问题是我对 Mongo Shell 的了解不够。一切都很好。

关键是收藏。show collections到目前为止,我对他们并不熟悉。还在学习 :)

于 2013-07-17T04:18:18.233 回答
0

使用的数据目录mongod可以在命令行中使用--dbpath. 我的猜测是您的安装使用的是默认位置,该位置因操作系统和发行版而异,但在 linux 下查看/var/var/lib或在 OSX 上使用 homebrew 下查看/usr/local/var/lib

但是,您的问题实际上不在于数据文件在磁盘上的位置,而是与相同的数据库服务器和相同的数据库名称保持一致的连接,这些都来自您的连接 URL。当您运行mongoshell 时,请尝试提供一个类似 的 URL mongo localhost/testData,这应该会生成您上面的代码。

于 2013-07-17T03:58:14.563 回答