【问题标题】:MongoDB Models not importing into mongodb databaseMongoDB 模型未导入 mongodb 数据库
【发布时间】:2021-01-06 08:00:52
【问题描述】:

我克隆了一个 github 项目,无法将模型提交到 mongoDb 数据库。我cloned 的项目是一个简单的购物车应用程序。

我按照 readme.md 的说明创建了一个免费的 mongodb 集群。

MongoDB Compass Info Clipboard Image

我正在尝试使用此链接进行连接

mongoose.connect('mongodb+srv://orhanisadmin:this_password_is_invalid@cluster0.pu1be.mongodb.net/orhandb?retryWrites=true&w=majority', {    useNewUrlParser: true });

模型

  • product.js

     var mongoose = require('mongoose')
     var Schema = mongoose.Schema
     var ProductSchema = new Schema({
         productName: String,
         productDescription: String,
         productCategory: String,
         productPrice: String,
         productImage: String,
         productSeller: String,
         isBestProduct: Boolean,
         isTopProduct: Boolean,
         productRating: Number
     })  module.exports = mongoose.model('Product', ProductSchema)
    
  • shipping.js

     var mongoose = require('mongoose')
     var Schema = mongoose.Schema
    
     var ShippingDetailSchema = new Schema({
         address1: String,
         address2: String,
         country: String,
         zipCode: String,
         shippingDate: String,
         products: Array,
         userId: String,
         totalPrice: String
     })
    
     module.exports = mongoose.model('ShippingDetail', ShippingDetailSchema)
    
  • user.js

     var mongoose = require('mongoose')
     var Schema = mongoose.Schema
    
     var UserSchema = new Schema({
         firstName: String,
         lastName: String,
         fullName: String,
         email: String,
         isAdmin: Boolean,
         password: String,
         createdOn: String
     })    module.exports = mongoose.model('User', UserSchema)
    

【问题讨论】:

  • 你应该使用db.collection.save()。看看this

标签: node.js mongodb vue.js npm mongoose


【解决方案1】:

通常,如果没有命名它的集合,则在保存模型时会自动创建集合。如您所知,在初始状态下,数据库上没有集合。 如果您将一些数据保存到控制器中的数据库,则会自动创建集合。请参考下面的代码。

如何使用猫鼬连接到数据库

const mongoDB = "YOUR_DB_URL";
mongoose.connect(mongoDB, { useNewUrlParser: true , useUnifiedTopology: true});
const db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
db.on('connected', function(){
  console.log("MongoDB is connected to this app.")
});

如何保存模型...

var payload = req.body.payload;
var user = new UserInfo();
//your action...
user.save();

【讨论】:

  • 嗯,我明白了。也许,连接到 cloud.mongodb.com 上托管的数据库服务器需要一些时间,所以请等到 msg 登录控制台。或者请检查您的互联网连接。
猜你喜欢
  • 1970-01-01
  • 2017-01-11
  • 2016-04-16
  • 1970-01-01
  • 2011-08-23
  • 1970-01-01
  • 2021-12-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多