簡體   English   中英

$在 MongoDB 中查找

[英]$lookup in MongoDB

我在db數據庫中有以下 collections:

user :它包含以下格式的文檔:

const data1 ={
            username:req.body.username,
            email:req.body.email,
            role:req.body.role
 
        }
    db1.collection('user').insertOne(data1, function(err,res){
        if(err) throw err;
        
        console.log(res.insertedId)
        objectId = res.insertedId; 

密碼:它包含以下格式的文件:

db3.collection('password').insertMany([
            {
                userid:objectId,
                password:req.body.password
            },
           
        ])

我如何訪問 email 和用戶登錄密碼前端是反應 js

user object_id是密碼的userid,如何解決mongo db中的$lookup(聚合)

一個簡單的 $lookup 看起來像這樣: https://mongoplayground.net/p/USKiiSfn9iT

db.user.aggregate([
  { $match: { username: "Person1" } },
  {
    $lookup: {
      from: "password",
      localField: "_id",
      foreignField: "userid",
      as: "password"
    }
  },
  {
    $project: {
      _id: 1,
      email: 1,
      role: 1,
      username: 1,
      password: { "$arrayElemAt": [ "$password.password", 0 ] }
    }
  }
])

由於 React 是一個前端工具,您將需要一些通過服務器端/安全和身份驗證方式訪問數據庫的機制。 我相信這超出了問題和主題的 scope,因為會有無數的意見,並且已經有許多文章可以讓您這樣做。

示例設置: https://levelup.gitconnected.com/everything-you-need-to-know-about-the-passport-local-passport-js-strategy-633bbab6195

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM