我是 mongo 和 javascript 的初學者,我做了一個大概的代碼,可能是在我的集合資料庫上推送所有 API JSON 回應,所以我應該帶頭用這段代碼做一些看起來像的事情,而不是什么都不做:
此檔案的目標是將 JSON api 回應的所有結果轉換為卡片,但在此之前我需要存盤此回應
import { defineStore } from "pinia";
import axios from "axios";
import { MongoClient } from 'mongodb'
export const useCardStore = defineStore("cardStore", {
state: () => ({
cards: [],
}),
getters:{
allCards: (state) => state.cards
},
actions: {
async loadCards() {
try {
const response = await axios.get("https://api.adzuna.com/....");
this.cards = response;
const { data } = response;
response.data.results.forEach((item) => {
console.log(item);
return item.get().then(response => {
JSON.parse(response.body.text());
var MongoClient = require('mongodb').MongoClient;
var url = 'mongodb://localhost:27017/MyCollection';
MongoClient.connect(url, function(db) {
var myDB = db.db("JobSeeker");
var myobj = [item];
myDB.collection("cardsJobs").insertMany(myobj, function(res) {
console.log("Number of item inserted: " res.insertedCount);
db.close();
});
})
});
});
}
catch (error) {
console.log(error);
}
},
},
});
uj5u.com熱心網友回復:
//modify your code like this
var url = "API CALL HERE"
request(url, function(error, response, body){
if(!error && response.statusCode == 200){
var data = JSON.parse(body);
res.send(data);
var MongoClient = require('mongodb').MongoClient;
var url = "mongodb://localhost:27017/mydb";
MongoClient.connect(url, function(err, db) {
if (err) throw err;
var myobj = [];
myobj.push(data);
db.collection("dabas").insertMany(myobj, function(err, res) {
if (err) throw err;
console.log("Number of documents inserted: " res.insertedCount);
db.close();
});
});
}
});
//your problem is you passing obj not array
//see below link for your reference
https://docs.mongodb.com/manual/reference/method/db.collection.insertMany/
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/434696.html
標籤:javascript json mongodb api Vue.js
上一篇:如何運行以測驗數字是否為2的冪?
