我有這樣的JS代碼,這將有CRUD功能貓鼬,而不添加值在對象上的MongoDB
var express = require('express');
var app = express();
var bodyParser = require('body-parser');
var mongoose = require('mongoose');
var options = {
db: { native_parser: true },
server: { poolSize: 5 }
};
mongoose.connect('mongodb://localhost/agenda', options);
var Schema = mongoose.Schema;
var contatoSchema = new Schema({
nome: String,
telefones: [],
createdOn: {type: Date, default: Date.now}
});
var Contato = mongoose.model("Contato", contatoSchema);
app.use(bodyParser.json());
app.use(express.static('public'));
app.post('/adicionar', function(req, res){
var contato = req.body;
contato = new Contato({nome: contato.nome, telefones: contato.telefones});
contato.save(function(err, data){
if (err) console.log(err);
else res.json(data);
});
});
app.listen(3000, function() {
console.log('Example app listening on port 3000!');
});
當我嘗試使用URL「/ adicionar」添加對象的郵差it`sa服務器:
{
"nome": Vinicius,
"telefones": [
123456
]
}
他給了我這個答案
{
"__v": 0,
"_id": "57439973e033c9902174cad0",
"createdOn": "2016-05-23T23:59:47.284Z",
"telefones": []
}
的問題是功能不`噸傳遞正確的'nome'和'telefone'字段中的值,但是他在mongoDB上創建了數組'telefones',我也創建了數據庫'議程',並且他還創建了'contato'集合。
我試圖重寫代碼搜索語法錯誤,我認爲bodyParser或Express mondule不工作,但我安裝了兩個文件夾。
其他請注意,當我將nome:contato.nome,telefones:contato.telefones的值更改爲nome:「vinicius」,telefones:[1235312],並將代碼作爲節點應用程序運行時,他會在帶有這些值的mongo DB。
你是什麼意思的最後一段?您將代碼作爲節點應用程序運行? –
使用Eclipse ide –
在eclipse中它使用什麼客戶端?如果您使用休息客戶端,那麼您可能沒有使用正確的身體編碼設置郵遞員。 –