mongodb:获取API POST请求返回一个奇怪的响应

我想使用fetch API将POST请求发送给mongodb。 GET请求使用获取API成功实现,但POST请求不是。

在控制台日志中,POST请求返回奇怪的响应,如下所示:

{n: 1, opTime: {…}, electionId: "7fffffff0000000000000001", ok: 1} electionId:"7fffffff0000000000000001" n:1 ok:1 opTime:{ts: "6490526445679411201", t: 1} __proto__:Object 

我从来没有遇到过这个回应,我不知道这意味着什么…

我的代码如下。

server.js

 app.post('/recipe', (req, res) => { console.log(req.body); // this console.log returns empty object : {} db.collection('recipe').insertOne(req.body, (err, result) => { if (err) return console.log(err); console.log('saved to database') res.json(result); }); }); 

index.js

 class App extends Component { constructor(props){ super(props); this.state={ results: [], name: '', ingredients: '', descriptions: '', modal: false } this.handleSubmit = this.handleSubmit.bind(this); } handleSubmit(e) { e.preventDefault(); const { name, ingredients, descriptions } = this.state; fetch('/recipe', { method: 'POST', body: JSON.stringify({ name, ingredients, descriptions }), headers: { 'Accept': 'application/json, text/plain, */*', 'Content-Type': 'application/json'} }) .then( res => res.json()) .then( res => console.log(res)); //this console.log returns strange response } render() { const { name, ingredients, descriptions } = this.state; return ( <div className="App"> <h1>Recipe List</h1> <form onSubmit={this.handleSubmit}> <input value={name} type="text" onChange={e => this.setState({ name: e.target.value })} placeholder="name" /> <input value={ingredients} type="text" onChange={e => this.setState({ ingredients: e.target.value })} placeholder="ingredients" /> <input value={descriptions} type="text" onChange={e => this.setState({ descriptions: e.target.value })} placeholder="descriptions" /> <input type="submit" onClick={this.toggle}/> </form> </div> ) } } export default App; 

提前谢谢你的帮助,

mongoDB insertOne返回成功与否的信息。 如果你想获得插入的数据,试试这个。

 db.collection('recipe').insertOne(req.body,(err, result)=>{ if (err) return console.log(err); console.log('saved to database'); res.json(result.ops[0]); });