【问题标题】:Mongoose not inserting into MongoDB properly猫鼬没有正确插入 MongoDB
【发布时间】:2012-05-11 19:01:50
【问题描述】:

当我在节点脚本中运行此代码时,出于某种原因,当我使用 db.test.find() 检查数据库时,什么都没有显示。有什么线索吗?

  var mongoose = require('mongoose');
  var db = mongoose.connect('mongodb://localhost/test');
  var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;
  UserSchema = new Schema({
  'title': { type: String, index: true },
  });
  var User = mongoose.model('user', UserSchema);
  var user = new User();
  user.title = "TEST TITLE";
  user.save();

谢谢大家

【问题讨论】:

  • 这是我在mongodb shell中运行的shell命令
  • 您的代码在哪里检查 save() 操作是否成功?
  • 所以我发现我的集合的名称被称为“用户”,显然当我执行 db.test.find() 时,查询不会显示任何内容。因此,当我使用命令 db.users.find() 时,我的 TEST_TITLE 出现了。所以只是给你们一个提示——mongodb shell 中的命令“show collections”会显示当前数据库中所有可用的集合。

标签: node.js mongodb mongoose


【解决方案1】:

您需要在控制台中使用数据库“test”。为什么要测试?因为你在这一行告诉它:

var db = mongoose.connect('mongodb://localhost/test');

控制台:

> use test

还有猫鼬;它将集合复数化,因此将其保存到“用户”中。

> db.users.find()

【讨论】:

    猜你喜欢
    • 2013-05-19
    • 1970-01-01
    • 1970-01-01
    • 2015-08-05
    • 2014-07-15
    • 2018-05-21
    • 2017-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多