我似乎无法弄清楚如何使用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()不是函数,但是我认为这不是我的问题。
答案 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!
});
注意::您需要打开连接才能正常使用功能。