mongodb와 특히 node.js 용 몽구스 패키지에 문제가 있습니다. 나는 다음과 같은 스키마가 :
var Schema = mongoose.Schema;
var location = new Schema ({
nomville: {type: String, required: true},
description: {type: String, required: true},
quartier: [quartier],
critere: [misc],
modified: {type: Date, default: Date.now}
});
var misc = new Schema ({
publictransp: {type: Number},
culture: {type: Number},
traffic: {type: Number},
nature: {type: Number},
supermarket: {type: Number},
school: {type: Number},
sport: {type: Number},
nightlife: {type: Number},
mean: {type: Number}
});
var rue = new Schema ({
nomrue: {type: String},
modified: {type: Date, default: Date.now}
});
var quartier = new Schema ({
nomquartier: {type: String},
listerue: [rue],
modified: {type: Date, default: Date.now}
})
var ObjModel = mongoose.model('Obj',location);
을 그리고 나는 JQuery와 쿼리에이 스키마의 객체를 게시하려고 할 때이 얻을 :
[오류 : 키 $의 conditionalHandlers는 '$'로 시작할 수 없습니다]
아이디어가 있으십니까? 나는 이걸 완전히 붙잡고있다.
EDIT1 :
//CREATE PRODUCTS
app.post('/api/products', function(req,res){
var product;
console.log("POST: ");
console.log(req.body);
product = new ObjModel({
nomville: req.body.nomville,
description: req.body.description,
quartier: [quartier],
critere: [misc],
});
product.save(function(err){
if (!err) {
return console.log("created");
} else {
return console.log(err);
}
});
return res.send(product);
});
EDIT2 : 여기에 포스트 기능입니다 여기에 쿼리
jQuery.post("/api/products", {
"nomville": "Strasbourg",
"description": "Ville de Strasbourg",
"quartier": [
{
"nomquartier": "Centre",
"listerue": [
{
"nomrue": "22 Novembre"
},
{
"nomrue": "Abattoir"
},
{
"nomrue": "Fonderie"
},
{
"nomrue": "Francs Bourgeois"
}
]
},
{
"nomquartier": "Cité de l'Ill",
"listerue": [
{
"nomrue": "Anguille (chemin de l)"
},
{
"nomrue": "Civelles (promenade des)"
},
{
"nomrue": "Hechner (rue)"
},
{
"nomrue": "Phario (pont)"
}
]
},
{
"nomquartier": "Krutenau",
"listerue": [
{
"nomrue": "Abreuvoir (rue de l)"
},
{
"nomrue": "Bain Finkwiller (rue du)"
},
{
"nomrue": "Fustel de Coulanges (quai)"
},
{
"nomrue": "Hôpital (place de l)"
}
]
}
],
"critere":[
{
"publictransp": 2,
"culture": 8,
"traffic": 5,
"nature": 7,
"supermarket": 3,
"school": 5,
"sport": 6,
"nightlife": 4,
"mean": 5
},
]
}, function(data, textStatus, jqXHR) {
console.log("Post resposne:"); console.dir(data); console.log(textStatus); console.dir(jqXHR);
});
쿼리 게시 후 내가 무엇을 얻을 그것은이다 :
[
{
"nomville": "Strasbourg",
"description": "Ville de Strasbourg",
"_id": "526ecdd3a78290010c000004",
"__v": 0,
"modified": "2013-10-28T20:49:23.235Z",
"critere": [],
"quartiers": [
{
"_id": "526ecdd3a78290010c000005",
"listerue": []
}
]
}
]
을이 정상입니까? ?
당신은 "나는 JQuery와 쿼리에이 스키마의 객체를 게시 할 때"무엇을 의미합니까. 모델 호출 위치에 소스 코드를 게시하십시오. – bekite
"/ api/products"에 대한 POST 요청을 처리하는 서버 측 코드를 확인해야합니다. '$'는 jquery와는 아무런 관련이 없습니다. 그것은 빨간 청어 다. –