【问题标题】:MongoDB - Mongoose and Mongo Command Line Manipulation (Where does the DB save?)MongoDB - Mongoose 和 Mongo 命令行操作(数据库保存在哪里?)
【发布时间】:2013-07-27 09:34:02
【问题描述】:

使用 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 应用程序操作它。

感谢您的帮助。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    抱歉,问题是我对 Mongo Shell 的了解不够。一切正常。

    关键是集合。 show collections 直到现在我才对他们不熟悉。还在学习:)

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2011-12-05
        • 1970-01-01
        • 2013-06-12
        • 1970-01-01
        • 2015-06-06
        • 1970-01-01
        • 2016-05-06
        • 2013-02-28
        • 2018-09-29
        相关资源
        最近更新 更多