gpt4 book ai didi

arrays - 如何使用 Monk 在 MongoDB 中插入带有子文档数组元素的文档

转载 作者:可可西里 更新时间:2023-11-01 09:43:10 26 4
gpt4 key购买 nike

当我想在我的 mongodb 中插入一个包含子文档数组元素的 mongodb 文档时,函数将其错误地插入到数据库中。我以这种方式调用插入函数:

var OrderItem = [];
OrderItem[0] = {
'model': asd1,
'size' : M,
'color' : Black
};

OrderItem[1] = {
'model': bsa2,
'size' : S,
'color' : Black
};
var newOrdenCompra = {
'fechaCompra' : d,
'items' : OrderItem
};
$.ajax({
type: 'POST',
data: newOrdenCompra,
url: '/order/addordercompra',
dataType: 'JSON'
}).done(function( response )
{
if (response.msg !== '') {
alert('Error: ' + response.msg);
}
});

然后:

/*
* POST to add orden de compra.
*/
router.post('/addordercompra', function(req, res) {
var db = req.db;
var collection = db.get('ordercompra');
collection.insert(req.body, function(err, result){
res.send(
(err === null) ? { msg: '' } : { msg: err }
);
});
});

但是我进入BD是这样的(我上面写的例子在item子文档中的属性比较少):

> db.ordercompra.find().pretty()
{
"_id" : ObjectId("5601b2181430470c1266d415"),
"fechaCompra" : "2015-09-22T16:54:59Z",
"items[0][model]" : "CLUB DE LA PELEA",
"items[0][size]" : "XXXS",
"items[0][color]" : "CHOCOLATE",
"items[0][sena]" : "1200",
"items[0][precio]" : "2600",
"items[0][ordOT]" : "2",
"items[0][id]" : "55f9e402ebfcd9b414339f8f",
"items[1][model]" : "302",
"items[1][size]" : "M",
"items[1][color]" : "NEGRO",
"items[1][sena]" : "0",
"items[1][precio]" : "2100",
"items[1][ordOT]" : "",
"items[1][id]" : "55e76c0d497c742019bbb5f3"
}
>

我可以做些什么来获取包含子文档数组的元素的结构?我是做错了还是插入失败了?

感谢您的帮助!对不起我的英语不好。尼古拉斯。

最佳答案

我已经解决了发送使用 JSON.stringify 转换的数据并将 ajax 参数更改为 dataType : 'text' 并添加 contentType: 'application/json' 的问题。这样做插入效果很好。谢谢您的帮助!示例图片:

client code

server code

BD 看起来像这样:

bd data

关于arrays - 如何使用 Monk 在 MongoDB 中插入带有子文档数组元素的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32726308/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com