这个的猫鼬查询版本
mongoose query version of this
我在 mongodb 控制台中 运行 有以下代码来更新集合中的价格。我不确定如何用猫鼬实现这一点。我在猫鼬中尝试了类似的东西,但找不到变量 prodcache 和 prodvalues。
var prodCache = {};
var prodValues = db.workorders2.aggregate([{
"$unwind": "$lines"
}, {
"$group": {
"_id": null,
"products": {
"$addToSet": "$lines.Product"
}
}
}]).toArray()
db.products.find({
"value": {
"$in": prodValues[0].products
}
}).forEach(function(product) {
prodCache[product.value] = product.techprice;
});
db.workorders2.find({
"Status": "Closed",
"lines.Status": "Closed"
}).forEach(function(order) {
for (var i = 0; i < order.lines.length; i++) {
if (order.lines[i].TechAction == "Installed" || order.lines[i].TechAction == "Support Hardware Installed" || order.lines[i].TechAction == "Relocated") {
order.lines[i].techprice = prodCache[order.lines[i].Product];
}else if (order.lines[i].TechAction == "Receiver Swap" || order.lines[i].TechAction == "Service Swap"){
order.lines[i].techprice = 2;
}
}
db.workorders2.update({
"_id": order._id
}, {
"$set": {
"lines": order.lines
}
});
})
提前致谢。
我应该在发布之前做更多的研究。 link 帮助我用 mongoclient 完成我想要的。
http://mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html
我在 mongodb 控制台中 运行 有以下代码来更新集合中的价格。我不确定如何用猫鼬实现这一点。我在猫鼬中尝试了类似的东西,但找不到变量 prodcache 和 prodvalues。
var prodCache = {};
var prodValues = db.workorders2.aggregate([{
"$unwind": "$lines"
}, {
"$group": {
"_id": null,
"products": {
"$addToSet": "$lines.Product"
}
}
}]).toArray()
db.products.find({
"value": {
"$in": prodValues[0].products
}
}).forEach(function(product) {
prodCache[product.value] = product.techprice;
});
db.workorders2.find({
"Status": "Closed",
"lines.Status": "Closed"
}).forEach(function(order) {
for (var i = 0; i < order.lines.length; i++) {
if (order.lines[i].TechAction == "Installed" || order.lines[i].TechAction == "Support Hardware Installed" || order.lines[i].TechAction == "Relocated") {
order.lines[i].techprice = prodCache[order.lines[i].Product];
}else if (order.lines[i].TechAction == "Receiver Swap" || order.lines[i].TechAction == "Service Swap"){
order.lines[i].techprice = 2;
}
}
db.workorders2.update({
"_id": order._id
}, {
"$set": {
"lines": order.lines
}
});
})
提前致谢。
我应该在发布之前做更多的研究。 link 帮助我用 mongoclient 完成我想要的。
http://mongodb.github.io/node-mongodb-native/api-generated/mongoclient.html