[英]I can't save or find a document into MongoDB using Mongoose
我是第一次使用nodeJS,並且試圖創建一個通過Mongoose連接到MongoDB的應用程序。
我已經成功安裝了MongoDB,NodeJS和Mongoose(通過npm)。
我的問題是:當我通過mongoose連接我的節點應用程序時沒有顯示任何錯誤,但是當我嘗試插入文檔時,它根本什么都沒做。 在保存行凍結。
這是我的代碼
var express = require('express');
var app = express();
var mongoose = require('mongoose');
...
mongoose.connect('mongodb://127.0.0.1:27017/exampleDB');
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
var someModel = mongoose.model('someModel', {
name : String
});
app.get('/api/todos', function(req, res) {
var awesome_instance = new someModel({ name: 'awesome' });
console.log("about to save the document");
awesome_instance.save(function (err) {
if (err) return handleError(err);
});
});
app.post('/api/todos', function(req, res) {
});
...
app.listen(8080);
console.log("App listening on port 8080");
使用mongo客戶端,我可以看到我的數據庫,但是看不到代碼應創建的集合。 我的mongoDB也會檢測到來自nodeJS的連接。 我只是不知道會發生什么。
這是我的server.js(節點)顯示的內容
$ node server.js
App listening on port 8080
about to save the document
GET /api/todos - - ms - -
這是我的蒙哥客戶
$ ./mongo
MongoDB shell version v4.0.0
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 4.0.0
use exampleDB
switched to db exampleDB
show collections
exampleCollection
非常感謝。
讓您get
它,看看它是否有效。
var express = require('express');
var app = express();
var mongoose = require('mongoose');
mongoose.connect('mongodb://127.0.0.1:27017/exampleDB', { useNewUrlParser: true });
mongoose.Promise = global.Promise;
var db = mongoose.connection;
db.on('error', console.error.bind(console, 'MongoDB connection error:'));
var someModel = mongoose.model('someModel', {
name : String
});
app.get('/api/todos', async function(req, res) {
var awesome_instance = new someModel({ name: 'awesome' });
await awesome_instance.save()
});
app.post('/api/todos', function(req, res) {
});
app.listen(8080, ()=>console.log("App listening on port 8080"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.