Arrays 如何根据MongoDB中的另一个集合嵌入字段值更新嵌入集合字段的数组?
我已经在这个论坛上搜索了我下面的问题,我无法找到解决方案 存货集中: } 新收集的库存:Arrays 如何根据MongoDB中的另一个集合嵌入字段值更新嵌入集合字段的数组?,arrays,mongodb,embedded-documents,Arrays,Mongodb,Embedded Documents,我已经在这个论坛上搜索了我下面的问题,我无法找到解决方案 存货集中: } 新收集的库存: } 现在,我必须使用inventory\u new collections embedded item“qty”字段值更新inventory collection embedded array的item“qty”。。我试过下面的代码。。但我没有成功。请给我一些建议 db.inventory.find().forEach(function (doc1) { var doc2 = db.inventory_c
} 现在,我必须使用inventory\u new collections embedded item“qty”字段值更新inventory collection embedded array的item“qty”。。我试过下面的代码。。但我没有成功。请给我一些建议
db.inventory.find().forEach(function (doc1) {
var doc2 = db.inventory_copy.find({ Billno: doc1.Billno},{ Device_id: doc1.Device_id},{ item.item_id: doc1.item.item_id}, {item.qty: 1 });
if (doc2 != null) {
doc1.item.qty = doc2.item.qty;
db.inventory.save(doc1);
}
}))
谢谢请尝试以下更新:
db.inventory.find().forEach(function (doc1) {
var doc2 = db.inventory_copy.findOne(
{
"Billno": doc1.Billno,
"Device_id": doc1.Device_id,
"item.item_id": doc1.item.item_id
}
);
if (doc2 != null) {
doc1.item = doc2.item;
db.inventory.save(doc1);
}
});
嗨,我必须检查find()中嵌入文档的字段,比如var doc2=db.inventory\u copy.find({Billno:doc1.Billno},{Device\u id:doc1.Device\u id},{item.item\u id:doc1.item.item\u id},{item.qty:1});如果(doc2!=null){@Root我已经添加了额外的细节。嗨,我得到了错误:未捕获的异常:错误:{“$err”:“无法规范化查询:BadValue无法与未定义的进行比较”,“代码”:17287}嗨,有人知道吗?
db.inventory.find().forEach(function (doc1) {
var doc2 = db.inventory_copy.find({ Billno: doc1.Billno},{ Device_id: doc1.Device_id},{ item.item_id: doc1.item.item_id}, {item.qty: 1 });
if (doc2 != null) {
doc1.item.qty = doc2.item.qty;
db.inventory.save(doc1);
}
db.inventory.find().forEach(function (doc1) {
var doc2 = db.inventory_copy.findOne(
{
"Billno": doc1.Billno,
"Device_id": doc1.Device_id,
"item.item_id": doc1.item.item_id
}
);
if (doc2 != null) {
doc1.item = doc2.item;
db.inventory.save(doc1);
}
});