Ajax 为什么mongo会在保存之前裁剪数组?
我尝试将对象保存到mongoDb的集合中。 对象的对象内容数组(名称为“子对象”)。如果子数组长度超过20,mongo将返回空的子数组(它只包含一个具有mongo的_id属性的对象) 如何确定错误在哪里Ajax 为什么mongo会在保存之前裁剪数组?,ajax,mongodb,mongoose,Ajax,Mongodb,Mongoose,我尝试将对象保存到mongoDb的集合中。 对象的对象内容数组(名称为“子对象”)。如果子数组长度超过20,mongo将返回空的子数组(它只包含一个具有mongo的_id属性的对象) 如何确定错误在哪里 var object = { "BrowseNodeId": "2619526011", "Name": "Appliances", "IsCategoryRoot": "1", "Children": [{ "BrowseNodeId": "37
var object = {
"BrowseNodeId": "2619526011",
"Name": "Appliances",
"IsCategoryRoot": "1",
"Children": [{
"BrowseNodeId": "3737671",
"Name": "Air Conditioners"
},
// Here 30 objects {}
],
"Ancestors": {
"BrowseNodeId": "2619525011",
"Name": "Appliances"
},
};
我使用$.ajax进行post查询:
$.ajax({
url: 'http://localhost:8005/api/category',
data: object,
method: 'POST',
dataType: 'application/json'
}).done((res) => {
console.log(res);
// => returns object with Children.length == 1
})
但是,如果我使用Postman来进行post查询,那么对象将以子数组长度出现,正如我预期的那样==20
猫鼬模式:
mongoose.model('category', new mongoose.Schema(
{
BrowseNodeId: Number,
Name: String,
Children: [{
BrowseNodeId: Number,
Name: String,
}],
Ancestors: {
BrowseNodeId: Number,
Name: String,
},
level: Number,
}
))
实施:
我想这可能是架构问题
UPD
当我使用ajax时,请求主体是:
Cat: { Name: 'Test',
'Children[0][BrowseNodeId]': '11',
'Children[1][BrowseNodeId]': '11' }
邮递员的要求是:
Children: [ { BrowseNodeId: '11' }, { BrowseNodeId: '11' } ] }
Children: [ { BrowseNodeId: '11' }, { BrowseNodeId: '11' } ] }