尝试使用mongoDB,nodejs和mongoose将数据保存到集合中

时间:2019-09-18 23:51:40

标签: node.js mongodb mongoose

我似乎无法弄清楚如何使用mongoDB,mongoose和nodejs将文档保存到集合中。我试图将我从API返回的一些数据保存到在mongodb地图集中创建的集合中,但是我一生无法弄清楚该如何做。

我尝试用猫鼬制作一个模式,并尝试通过它保存并尝试直接连接到db,但我似乎无济于事。

这是我的模式

const mongoose = require('mongoose');

const twitterStateDataSchema = mongoose.Schema({
  stateName: Number
});

module.exports = mongoose.model('TwitterStateData', twitterStateDataSchema);

这是我对架构的呼叫:

TwitterStateData.insertOne(statesMap).then(test => {
  console.log(test);
})

这是我与数据库的连接:

mongoose.connect(process.env.MONGO_DB)
.then(() => {
  console.log('Connected to Sport Stakehouse database!')
})
.catch(() => {
  console.log('Connection Failed!')
})

这是我的env.json中减去秘密内容的内容:

.mongodb.net/gameData?retryWrites=true&w=majority

我正在尝试发送该对象:

{ IA: 4, undefined: 7, MI: 1, FL: 1, WV: 1, TX: 1, MN: 1, MO: 1 }

我遇到错误insertOne()不是函数,但是我认为这不是我的问题。

1 个答案:

答案 0 :(得分:0)

根据Mongoose docs,您可以使用.create.save.save()是来自Model实例的方法,.create()是作为方法调用直接从Model调用的,请根据需要使用。

使用创建:

const data = { IA: 4, undefined: 7, MI: 1, FL: 1, WV: 1, TX: 1, MN: 1, MO: 1 };
TwitterStateData.create(data, function (err, small) {
    if (err) return handleError(err);
    // saved!
});

使用保存:

const object = new TwitterStateData(yourData);
object.save(function (err) {
  if (err) return handleError(err);
  // saved!
});

注意::您需要打开连接才能正常使用功能。