【发布时间】:2020-12-17 07:21:29
【问题描述】:
我在 mongo 中有一个名为“sell”的数据库。现在这个 DB 包含两个表“Car”和“Order”。在“汽车”表中,我有名为“价格”的属性。现在当我执行时
db.Order.aggregate([
{
$lookup: {
from: "Car",
localField: "carId",
foreignField: "_id",
as: "PRICE",
},
},
{ $unwind: "$PRICE" },]).pretty()
mongo shell 中的命令,它提供包含“Order”表属性的输出,其中 PRICE 数组包含“Car”表的所有属性。现在,我想获取“汽车”表中的“价格”属性。我当前的输出如下面的链接所示,但我想从“价格”中获取“价格”。那我的命令应该是什么???
我的“汽车”表模型代码是
module.exports = {
tableName: "Car",
schema: true,
attributes: {
carmodel: {
type: "String",
},
stock: {
type: "Number",
},
color: {
model: "Master",
},
code: {
type: "STRING",
unique: true,
},
brakes: {
type: "String",
},
description: {
type: "String",
},
wheels: {
type: "String",
},
carwindow: {
type: "String",
},
carseat: {
model: "Master",
},
engine: {
type: "String",
},
price: {
type: "Number",
},
//self relation
parentId: {
model: "Car",
columnName: "parentId",
},
//OTM
Master: {
collection: "Master",
via: "car",
},
//OTO
order: {
collection: "order",
via: "carId",
},
sellprice: {
collection: "order",
via: "price",
},
},
};
我的“订单”表代码是
const { date } = require("faker");
const Car = require("../models/Car");
module.exports = {
tableName: "Order",
schema: true,
attributes: {
address: { type: "String" },
status: {
model: "Master",
},
orderDate: { type: "string", columnType: "datetime" },
//OTO
carId: {
model: "Car",
unique: true,
},
price: {
model: "Car",
unique: true,
},
//OTM
Master: {
collection: "Master",
via: "order",
},
},
};
我想要的输出是
{"PRICE" : 905000 }
PRICE 是订单中所有汽车价格的总和
【问题讨论】:
-
请不要以图片形式发布一些示例数据
-
代码示例数据或输出应该是什么样子的一些数据??
-
最好同时发布两者
-
先生请看一下
-
如果您只发布数据,而不是您的结构,我可以帮助您查询,因为我不是 nodejs 人。如果不可能,有时有人会帮助你
标签: javascript node.js database mongodb sails.js