关于
MongoDB
更多的知识点可看我之前这篇文章:
MongoDB
框架零基础入门本身
MongoDB
的
连接
就和Mysql的
数据库
一样
Mysql
连接
方式:mysql -u -root -p(标准模式下)
MongoDB
类似:mongo -u root -p之所以要增加
字段
值
一般都是python web框架中,在form
表
单内增加了一个
字段
值写入
数据库
(只有最新的数据才有这个
字段
值)
之前数据没有的
字段
值只能通过
数据库
添加
具体添加方式可以通过
数据库
内或者脚本一键添加(两种方式都差不多)在
数据库
内增加
字段
值
好的,以下是一个
MongoDB
的三
表
连接
查询
实例:
假设我们有三个集合:users、orders 和 products。users 集合存储用户信息,orders 集合存储订单信息,products 集合存储商品信息。我们需要
查询
出每个用户的订单信息以及订单中包含的商品信息。
首先,我们需要在 orders 集合中
查询
每个用户的订单信息,可以使用 $lookup 操作符
连接
users 集合和 orders 集合:
db.users.aggregate([
$lookup: {
from: "orders",
localField: "_id",
foreignField: "user_id",
as: "orders"
这个
查询
会返回一个包含每个用户信息以及他们的订单信息的文档。现在我们需要在每个订单中
查询
包含的商品信息,可以再次使用 $lookup 操作符
连接
products 集合和 orders 集合:
db.users.aggregate([
$lookup: {
from: "orders",
localField: "_id",
foreignField: "user_id",
as: "orders"
$unwind: "$orders"
$lookup: {
from: "products",
localField: "orders.product_id",
foreignField: "_id",
as: "orders.products"
$group: {
_id: "$_id",
name: { $first: "$name" },
orders: { $push: "$orders" }
这个
查询
会返回一个包含每个用户信息以及他们的订单信息和订单中包含的商品信息的文档。注意,我们使用了 $unwind 操作符将 orders 数组展开,然后再次使用 $lookup 操作符
连接
products 集合和 orders 集合。最后,我们使用 $group 操作符将结果按照用户分组。