RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / user-270088

MegaRoks's questions

Martin Hope
MegaRoks
Asked: 2020-01-29 02:54:31 +0000 UTC

下拉 div 向下移动另一个 div

  • 2

我想实现一个回答常见问题的博客。

我的问题是我不知道如何制作它,以便在扩展块时不会将其下方的块向下移动。我试图给类一个left-panel属性position: relative;,并给它的子类一个属性position: absolute;。但他们在一次报复中被蒙蔽了双眼。而且我无法将它们分成一列。

.questions {
    display: flex;
    font-size: 12px;
    line-height: 20px;
}

.left-panel {
    max-width: 225px;
    margin-right: 20px;
}

.question {
    margin-bottom: 10px;
    border: 2px solid #f8f4fa;
    position: relative;
    height: 60px;
}

.question:hover {
    border: 2px solid #c42f33;
    background-color: #ffffff;
    height: 270px;
    overflow-y: auto;
}

.question:hover .question-description {
    display: block;
}

.question-title {
    padding: 10px;
    font-weight: 600;
    color: #2f2f2f;
}

.question-description {
    background-color: #ffffff;
    padding: 10px;
    display: none;
    color: #4f4f4f;
}
<div class="questions">
  <div class="left-panel">
    <div class="question">
      <div class="question-title">В чем преимущество покупки машины на аукционе?</div>
      <div class="question-description">
        Покупатель имеет возможность получить достоверную информацию об автомобиле: история, дефекты, ремонты. Машина получает точную оценку состояния кузова салона. Также в числе плюсов - огромный выбор.
      </div>
    </div>
    <div class="question">
      <div class="question-title">Как проходит оплата?</div>
      <div class="question-description">
        Оплата, проходит в три этапа.
        <p>1. Аванс 30 тыс. руб. при заключении договора</p>
        <p>2. Расходы (стоимость автомобиля на аукционе плюс все расходы связанные с учетом доставки)</p>
        <p>3. Расходы по России (Таможенное оформление + доставка ТК по РФ)</p>
      </div>
    </div>
    <div class="question">
      <div class="question-title">Есть ли дополнительные платежи сверх договора?</div>
      <div class="question-description">
        Доставка автомобиля в Россию занимает от 30 дней с момента покупки выбранного авто.
      </div>
  </div>

css
  • 3 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-01-28 03:50:12 +0000 UTC

悬停伪类可以显示不是孩子的div吗

  • 1

:hover我有两个父容器,当悬停在类中的三个元素中的任何一个上时cl1,我想了解伪类是否可以工作cl3。

例如,将鼠标悬停在<div class="cl2">Hover1</div>并应显示<div class="cl4">I'm hidden2</div>.

这就是我所做的,当然它不起作用。

.cl4 {
  display: none;
}

.cl1 ~ .cl2:hover ~ .cl3 ~ .cl4 {
  display: block;
}
<body>
  <div class="container">
    <div class="cl1">
      <div class="cl2">Hover1</div>
      <div class="cl2">Hover2</div>
      <div class="cl2">Hover3</div>
    </div>

    <div class="cl3">
      <div class="cl4">I'm hidden1</div>
      <div class="cl4">I'm hidden2</div>
      <div class="cl4">I'm hidden3</div>
    </div>
  </div>
</body>

html
  • 2 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-10-26 15:17:15 +0000 UTC

如何等待客户端的响应

  • 0

我有用户验证逻辑。

...
const i = rl.createInterface(process.stdin, process.stdout);
    i.question(`Please, visit an url ${url} and enter a verifier: ', verifier => {
        i.close();
        process.stdin.destroy();
        ...

现在我在控制台中输入代码。

为了授权,我有一个路由器http://localhost:8081/api/authorization/

我怎样才能改变它,以便服务器等待用户点击按钮,然后代码来找我http://localhost:8081/api/authorization?12345。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-10-11 13:34:59 +0000 UTC

更新表中的值并返回列表

  • 1

我有两个要求。第一个通过将标志更改为is_read来读取聊天消息true。

UPDATE MESSAGES 
SET IS_READ = TRUE 
WHERE ROOM_ID = '${this.room}' 
  AND USER_ID != '${this.sender}'

第二个返回来自频繁的消息。

SELECT M.MESSAGE_ID, M.ROOM_ID, M.MESSAGE_TEXT, M.USER_ID, M.IS_READ 
FROM MESSAGES AS M 
WHERE M.ROOM_ID = '${this.room}'

我正在尝试合并它们,因为现在我在数据库中有两个查询,一个更新和一个提取。

我试着像这样组合它们

SELECT M.MESSAGE_ID, M.ROOM_ID, M.MESSAGE_TEXT, M.USER_ID, M.IS_READ 
FROM ( UPDATE MESSAGES 
       SET IS_READ = TRUE 
       WHERE ROOM_ID = '1' 
         AND USER_ID != '71') 
WHERE M.ROOM_ID = 1

这两个查询如何组合成一个?

sql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-10-07 18:23:17 +0000 UTC

附加方法差异

  • 1

我有jquery.

$('#messages').append($('<li>').text(`${data.username}: ${data.message}`));

我想切换到js.

const messages = document.getElementById('messages');
messages.append(document.getElementsByTagName('li').text(`${data.username}: ${data.message}`));

我收到一个错误

Uncaught TypeError: document.getElementsByTagName(...).text is not a function

jqueryappend 方法和有什么区别js?我做错了什么?

javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-09-09 18:08:56 +0000 UTC

crontab 没有完全执行脚本

  • 0

我制作了一个脚本来执行数据库备份。

#!/bin/bash
set -e
STORAGE_NAME=folder-backup
BACKUP_NAME=$(date +%y_%m_%d).gz
date
echo "Backing up MongoDB database to storage: $STORAGE_NAME"
echo "Dumping MongoDB $DB database to compressed archive"
mongodump -u user -p 1234 --authenticationDatabase admin --archive=/backup/tmp_dump.gz --gzip
echo "Copying compressed archive to storage: $STORAGE_NAME"
gsutil cp /backup/tmp_dump.gz gs://$STORAGE_NAME/$BACKUP_NAME
echo "Cleaning up compressed archive"
rm /backup/tmp_dump.gz
echo "Backup complete!"

当我手动运行它时,它可以工作并发送备份文件。

Backing up MongoDB database to storage: -backup
Dumping MongoDB  database to compressed archive
2019-09-09T06:03:23.513-0400    writing admin.system.indexes to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.557-0400    done dumping admin.system.indexes (3 documents)
2019-09-09T06:03:23.557-0400    writing config.system.indexes to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.596-0400    done dumping config.system.indexes (2 documents)
2019-09-09T06:03:23.596-0400    writing admin.system.users to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.654-0400    done dumping admin.system.users (2 documents)
2019-09-09T06:03:23.654-0400    writing admin.system.version to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.712-0400    done dumping admin.system.version (2 documents)
2019-09-09T06:03:23.712-0400    writing test.AccountService to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.722-0400    writing test.Settings to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.732-0400    writing test._User to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:23.747-0400    writing test.NotificationSettings to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.112-0400    done dumping test._User (2506 documents)
2019-09-09T06:03:24.112-0400    writing test._Session to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.131-0400    done dumping test.NotificationSettings (2240 documents)
2019-09-09T06:03:24.131-0400    writing test._PushStatus to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.135-0400    done dumping test.Settings (2522 documents)
2019-09-09T06:03:24.135-0400    writing test.TaxEvent to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.152-0400    done dumping test.AccountService (4887 documents)
2019-09-09T06:03:24.153-0400    writing test.fs.chunks to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.392-0400    done dumping test._Session (2139 documents)
2019-09-09T06:03:24.392-0400    writing test.fs.files to archive '/backup/tmp_dump.gz'
2019-09-09T06:03:24.555-0400    [........................]  test.fs.files  0/90  (0.0%)
2019-09-09T06:03:24.555-0400    [########################]  test.fs.files  90/90  (100.0%)                                                                                      
2019-09-09T06:03:25.322-0400    done dumping test.TaxEvent (217 documents)                                                                                                      
2019-09-09T06:03:25.322-0400    writing test.CalendarEvent to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.333-0400    done dumping test._PushStatus (348 documents)                                                                                                   
2019-09-09T06:03:25.333-0400    writing test.UserPurchase to archive '/backup/tmp_dump.gz'                                                                                      
2019-09-09T06:03:25.345-0400    done dumping test.fs.files (90 documents)                                                                                                       
2019-09-09T06:03:25.345-0400    writing test.EventKnowledge to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:03:25.356-0400    done dumping test.fs.chunks (122 documents)                                                                                                     
2019-09-09T06:03:25.356-0400    writing test.KnowledgeWebsite to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:03:25.478-0400    done dumping test.CalendarEvent (60 documents)                                                                                                  
2019-09-09T06:03:25.478-0400    writing test._SCHEMA to archive '/backup/tmp_dump.gz'                                                                                           
2019-09-09T06:03:25.518-0400    done dumping test.EventKnowledge (43 documents)                                                                                                 
2019-09-09T06:03:25.518-0400    writing test.News to archive '/backup/tmp_dump.gz'                                                                                              
2019-09-09T06:03:25.553-0400    done dumping test.UserPurchase (45 documents)                                                                                                   
2019-09-09T06:03:25.553-0400    writing test.objectlabs-system.admin.collections to archive '/backup/tmp_dump.gz'                                                               
2019-09-09T06:03:25.565-0400    done dumping test.KnowledgeWebsite (26 documents)                                                                                               
2019-09-09T06:03:25.565-0400    writing test.objectlabs-system to archive '/backup/tmp_dump.gz'                                                                                 
2019-09-09T06:03:25.643-0400    done dumping test._SCHEMA (13 documents)                                                                                                        
2019-09-09T06:03:25.643-0400    writing test._GlobalConfig to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.711-0400    done dumping test.News (5 documents)                                                                                                            
2019-09-09T06:03:25.711-0400    writing test._Installation to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:03:25.753-0400    done dumping test.objectlabs-system.admin.collections (3 documents)                                                                             
2019-09-09T06:03:25.753-0400    writing test._Role to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:03:25.806-0400    done dumping test._GlobalConfig (1 document)                                                                                                    
2019-09-09T06:03:25.824-0400    done dumping test.objectlabs-system (1 document)                                                                                                
2019-09-09T06:03:25.863-0400    done dumping test._Installation (0 documents)                                                                                                   
2019-09-09T06:03:25.863-0400    done dumping test._Role (0 documents)                                                                                                           
Copying compressed archive to storage: folder-backup                                                                                                                        
Copying file:///backup/tmp_dump.gz [Content-Type=application/octet-stream]...                                                                                                   
| [1 files][ 13.4 MiB/ 13.4 MiB]                                                                                                                                                
Operation completed over 1 objects/13.4 MiB.                                                                                                                                    
Cleaning up compressed archive                                                                                                                                                  
Backup complete! 

我决定做这个任务。

* * * * * /mongo_backup.sh >> /mongo_backup.log  

文件mongo_backup.log被写入

Mon Sep  9 05:57:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 05:58:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 05:59:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:00:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:01:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup                                                                                                                        
Mon Sep  9 06:02:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
Copying compressed archive to storage: folder-backup

该文件mongo_backup.log缺少行

Copying file:///backup/tmp_dump.gz [Content-Type=application/octet-stream]...                                                                                                   
| [1 files][ 13.4 MiB/ 13.4 MiB]                                                                                                                                                
Operation completed over 1 objects/13.4 MiB.                                                                                                                                    
Cleaning up compressed archive                                                                                                                                                  
Backup complete! 

它从我的购物车中丢失了。

为什么会这样?该脚本手动运行良好,发送了数据库备份文件,但crontab发送失败。

Mon Sep  9 06:18:01 EDT 2019                                                                                                                                                    
Backing up MongoDB database to storage: folder-backup                                                                                                                       
Dumping MongoDB  database to compressed archive                                                                                                                                 
2019-09-09T06:18:03.950-0400    writing admin.system.indexes to archive '/backup/tmp_dump.gz'  
2019-09-09T06:18:03.990-0400    done dumping admin.system.indexes (3 documents)                                                                                                 
2019-09-09T06:18:03.990-0400    writing config.system.indexes to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:18:04.030-0400    done dumping config.system.indexes (2 documents)                                                                                                
2019-09-09T06:18:04.030-0400    writing admin.system.users to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:04.087-0400    done dumping admin.system.users (2 documents)                                                                                                   
2019-09-09T06:18:04.087-0400    writing admin.system.version to archive '/backup/tmp_dump.gz'                                                                                   
2019-09-09T06:18:04.144-0400    done dumping admin.system.version (2 documents)                                                                                                 
2019-09-09T06:18:04.144-0400    writing test.AccountService to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:18:04.152-0400    writing test.Settings to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.160-0400    writing test._User to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:18:04.175-0400    writing test.NotificationSettings to archive '/backup/tmp_dump.gz'                                                                              
2019-09-09T06:18:04.567-0400    done dumping test.AccountService (4887 documents)                                                                                               
2019-09-09T06:18:04.567-0400    writing test._Session to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.574-0400    done dumping test.Settings (2522 documents)                                                                                                     
2019-09-09T06:18:04.575-0400    writing test._PushStatus to archive '/backup/tmp_dump.gz'                                                                                       
2019-09-09T06:18:04.642-0400    done dumping test.NotificationSettings (2240 documents)                                                                                         
2019-09-09T06:18:04.642-0400    writing test.TaxEvent to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.652-0400    done dumping test._User (2506 documents)                                                                                                        
2019-09-09T06:18:04.652-0400    writing test.fs.chunks to archive '/backup/tmp_dump.gz'
2019-09-09T06:18:04.855-0400    done dumping test.TaxEvent (217 documents)                                                                                                      
2019-09-09T06:18:04.855-0400    writing test.fs.files to archive '/backup/tmp_dump.gz'                                                                                          
2019-09-09T06:18:04.951-0400    done dumping test._PushStatus (348 documents)                                                                                                   
2019-09-09T06:18:04.951-0400    writing test.CalendarEvent to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:04.955-0400    [#######################.]  test.fs.chunks  119/122  (97.5%)                                                                                    
2019-09-09T06:18:04.955-0400    done dumping test._Session (2139 documents)                                                                                                     
2019-09-09T06:18:04.955-0400    writing test.UserPurchase to archive '/backup/tmp_dump.gz'                                                                                      
2019-09-09T06:18:04.982-0400    [########################]  test.fs.chunks  122/122  (100.0%)                                                                                   
2019-09-09T06:18:05.958-0400    done dumping test.fs.files (90 documents)                                                                                                       
2019-09-09T06:18:05.958-0400    writing test.EventKnowledge to archive '/backup/tmp_dump.gz'                                                                                    
2019-09-09T06:18:05.969-0400    done dumping test.fs.chunks (122 documents)                                                                                                     
2019-09-09T06:18:05.969-0400    writing test.KnowledgeWebsite to archive '/backup/tmp_dump.gz'                                                                                  
2019-09-09T06:18:05.988-0400    done dumping test.UserPurchase (45 documents)                                                                                                   
2019-09-09T06:18:05.988-0400    writing test._SCHEMA to archive '/backup/tmp_dump.gz'                                                                                           
2019-09-09T06:18:06.148-0400    done dumping test.CalendarEvent (60 documents)                                                                                                  
2019-09-09T06:18:06.148-0400    writing test.News to archive '/backup/tmp_dump.gz'                                                                                              
2019-09-09T06:18:06.163-0400    done dumping test._SCHEMA (13 documents)                                                                                                        
2019-09-09T06:18:06.163-0400    writing test.objectlabs-system.admin.collections to archive '/backup/tmp_dump.gz'                                                               
2019-09-09T06:18:06.175-0400    done dumping test.EventKnowledge (43 documents)                                                                                                 
2019-09-09T06:18:06.175-0400    writing test.objectlabs-system to archive '/backup/tmp_dump.gz'                                                                                 
2019-09-09T06:18:06.188-0400    done dumping test.KnowledgeWebsite (26 documents)                                                                                               
2019-09-09T06:18:06.188-0400    writing test._GlobalConfig to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:06.299-0400    done dumping test.News (5 documents)                                                                                                            
2019-09-09T06:18:06.299-0400    writing test._Installation to archive '/backup/tmp_dump.gz'                                                                                     
2019-09-09T06:18:06.349-0400    done dumping test.objectlabs-system.admin.collections (3 documents)                                                                             
2019-09-09T06:18:06.349-0400    writing test._Role to archive '/backup/tmp_dump.gz'                                                                                             
2019-09-09T06:18:06.372-0400    done dumping test.objectlabs-system (1 document)                                                                                                
2019-09-09T06:18:06.378-0400    done dumping test._GlobalConfig (1 document)                                                                                                    
2019-09-09T06:18:06.449-0400    done dumping test._Role (0 documents)                                                                                                           
2019-09-09T06:18:06.449-0400    done dumping test._Installation (0 documents)                                                                                                   
Copying compressed archive to storage: folder-backup                                                                                                                        
/mongo_backup.sh: line 10: gsutil: command not found 
linux
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-08-20 14:05:37 +0000 UTC

两个数组与对象的联合

  • 0

我有两个带有对象的数组。

const array1 = [
   {
      id: 1,
   },
   {
      id: 2,
   },
   {
      id: 3,
   },
];

和

const array2 = [
   {
       name: 'Вася',
       phone: +7123456789,
   },
   {
       name: 'Саша',
       phone: +7987654321,
   },
   {
       name: 'Таня',
       phone: +7569874232,
   },
];

我想根据我的两个对象数组获取一个对象数组。

const array3 = [
   {
       id: 1,
       name: 'Вася',
       phone: +7123456789,
   },
   {
       id: 2,
       name: 'Саша',
       phone: +7987654321,
   },
   {
       id: 3,
       name: 'Таня',
       phone: +7569874232,
   },
];

如何组合两个数组?

我也尝试在一个循环中遍历两个数组,但它不起作用。

for (const [id, details] of [array1, array2]) {
    //  Тут выполняю действия с id и details
}

但我得出的结论是,组合两个数组比使用,例如,两个循环更好for。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-08-06 15:30:39 +0000 UTC

正则表达式替换单引号

  • -3

我有一个字符串。

'We're looking for someone who can assist in completing our mobile app'

要写入数据库,我需要记住它。

'We''re looking for someone who can assist in completing our mobile app'

我会做一个正则表达式。

/["']

问题是它替换了所有引号。

''We''re looking for someone who can assist in completing our mobile app''

应该在正则表达式中添加什么条件,以便不替换第一个和最后一个元素,即引号,并且在正文中替换引号,无论它们的数量如何。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-07-18 12:40:55 +0000 UTC

合并两个条件不同的 SQL 查询

  • 0

当一个用户进入他的个人资料时,他应该收到他所有的产品(活跃的和不活跃的,已经过期和未过期的),当他进入另一个用户的个人资料时,他应该只收到活跃的产品和那些放置期尚未到期的产品已到期。

例如

在这种情况下,我收到我的货物:

const user_id = 2; // в чей профиль я захожу
const decodedUserId = 2; // мой ид

在这种情况下,我得到了另一个用户的货物:

const user_id = 5; // в чей профиль я захожу
const decodedUserId = 2; // мой ид

如何查看我访问了谁的个人资料:

let products;
if (user_id == decodedUserId) {
    products = (await db.query(UserProduct.getMerchantAllProductsByIdForUser(user_id))).rows;
} else {
    products = (await db.query(UserProduct.getMerchantProductsByIdForUser(user_id))).rows;
}
class UserProduct {
    static getMerchantProductsByIdForUser(user_id) {
        const sql = `SELECT P.PRODUCT_ID, P.PRODUCT_NAME, P.ORIGINAL_PRICE, P.USER_ID
                FROM PRODUCTS AS P
                        WHERE 
                            P.END_DATE >= NOW() 
                            AND P.ACTIVE = TRUE
                            AND P.USER_ID = '${user_id}'`;
        return sql;
    }

    static getMerchantAllProductsByIdForUser(user_id) {
        const sql = `SELECT P.PRODUCT_ID, P.PRODUCT_NAME, P.ORIGINAL_PRICE, P.USER_ID
                FROM PRODUCTS AS P
                        WHERE 
                            P.USER_ID = '${user_id}'`;
        return sql;
    }
}

export default UserProduct;

是否可以以某种方式组合这两个 sql 查询?这样我就调用了一个函数,而不是检查我的 id 是否等于我的通行证,并且根据这一点,调用某个函数。并且在sql查询中,检查是否user_id等于P.USER_ID表中的某个字段PRODUCTS,然后显示所有产品(活动和非活动,已过期和未过期),如果不相等,则只显示活动产品和放置的产品还没有过期。

const products = (await db.query(UserProduct.getMerchantAllProductsByIdForUser(user_id))).rows;
javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-03-21 20:20:16 +0000 UTC

添加到列类型 ON DELETE CASCADE

  • 1

我有一张桌子

CREATE TABLE comments(
    comment_id                         SERIAL PRIMARY KEY, 
    user_id                            INTEGER NOT NULL REFERENCES users, 
    product_id                         INTEGER NOT NULL REFERENCES products,
    parent_id                          INTEGER,
    ....
);

如何添加ON DELETE CASCADE

做到这一点

CREATE TABLE comments(
    comment_id                         SERIAL PRIMARY KEY, 
    user_id                            INTEGER NOT NULL REFERENCES users ON DELETE CASCADE, 
    product_id                         INTEGER NOT NULL REFERENCES products ON DELETE CASCADE,
    parent_id                          INTEGER,
    ....
);
sql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-03-21 17:20:55 +0000 UTC

删除产品时,也将其从书签中删除并喜欢它

  • 1

有一张产品表

CREATE TABLE products(
    product_id                          SERIAL PRIMARY KEY, 
    product_name                        VARCHAR(40) NOT NULL, 
    product_description                 VARCHAR(220) NOT NULL, 
    ...
)

书签表:

CREATE TABLE bookmarks_products(
    bookmark_id                        SERIAL PRIMARY KEY, 
    product_id                         INTEGER NOT NULL REFERENCES products, 
    user_id                            INTEGER NOT NULL REFERENCES users
);

像表:

CREATE TABLE likes_products(
    like_id                            SERIAL PRIMARY KEY, 
    product_id                         INTEGER NOT NULL REFERENCES products, 
    user_id                            INTEGER NOT NULL REFERENCES users
);

评论表:

CREATE TABLE comments(
    comment_id                         SERIAL PRIMARY KEY, 
    user_id                            INTEGER NOT NULL REFERENCES users, 
    product_id                         INTEGER NOT NULL REFERENCES products,
    parent_id                          INTEGER,,
    user_name                          VARCHAR(40) NOT NULL,
    ...
);

我正在删除例如产品编号 1:

DELETE FROM COMMENTS WHERE PRODUCT_ID = 1;

创建表格时,我为表格创建了辅助键(喜欢、书签、评论)。

如何从产品表中删除产品编号 1,并从所有表(喜欢、书签、评论)中删除它?

sql
  • 2 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-27 20:08:25 +0000 UTC

检查评论是否包含对评论的回复

  • 0

我有你可以回复的评论。我需要检查评论是否包含答案。

我得到了什么:

    let сomments = [{сomment_id: 1, product_id: 1, ...}, {сomment_id: 2, product_id: 1, ...}, .... ];
    let nested_comments = [{nested_id: 1, сomment_id: 1,product_id: 1},{nested_id: 2, сomment_id: 1, product_id: 1},...];
    for (let i = 0; i < nested_comments.length; i++) {
        for (let j = 0; j < сomments.length; j++) {
            if (сomments[j].сomment_id = nested_comments[i].сomment_id) {
                сomments[j]['nested comment'] = nested_comments[i];
            }
        }
    }
    console.log(сomments)

但我只显示了最后一条评论。

我需要结果:

{
    { 
        сomment_id: 1, 
        product_id: 1, 
        ...,
        nested comment: {
            {
                nested_id: 1,
                сomment_id: 1,
                product_id: 1,
                ...
            },
            {
                nested_id: 2,
                сomment_id: 1,
                product_id: 1,
                ...
            },
        }
    },
    { 
        сomment_id: 2, 
        product_id: 1, 
        ...,
        nested comment: {

        }
    }
}

也就是说,第一个评论有两个回复,第二个没有,依此类推,可能有 10 个回复。

javascript
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-22 17:14:53 +0000 UTC

从产品表中,检查产品是否被用户收藏

  • 0

我有一张用户表:

 user_id |  user_name  | ... |
------------------------------
   1     |    name 1   | ... |
   2     |    name 2   | ... |
   3     |    name 3   | ... |

它存储有关角色的所有信息。

有一张产品表:

 product_id |  name  | ... |
----------------------------
      1     | name 1 | ... |
      2     | name 2 | ... |
      3     | name 3 | ... |

它包含有关产品的信息。

有一个书签表:

 bookmark_id |  product_id  | user_id |
---------------------------------------
       1     |       1     |     1    |
       2     |       1     |     2    |
       3     |       3     |     1    |

它存储产品 id 和拥有该产品书签的用户的 id。表关联二级键,即从书签表中,字段product_id关联到表products,字段也user_id关联到c users。

我需要显示结果:

 product_id |  product_name  | ... | BOOKMARKS |
------------------------------------------------
      1     | product name 1 | ... |   false   |
      2     | product name 2 | ... |   true    |
      3     | product name 3 | ... |   false   | 

也就是说,除了有关产品的所有信息之外,如果用户在书签中有产品,则需要显示一个BOOKMARKS存储该产品的列,如果没有。但条件是它是为每个用户雕刻的。truefalse

也就是说,如果 id 为 1 的用户的书签中有第一个产品,但第二个和第三个没有,结果将如下所示:

 product_id |  product_name  | ... | BOOKMARKS |
------------------------------------------------
      1     | product name 1 | ... |   true    |
      2     | product name 2 | ... |   false   |
      3     | product name 3 | ... |   false   | 

id 为 2 的用户在书签中有第三个和第二个产品,但第一个没有,结果会是这样的:

 product_id |  product_name  | ... | BOOKMARKS |
------------------------------------------------
      1     | product name 1 | ... |   false   |
      2     | product name 2 | ... |   true    |
      3     | product name 3 | ... |   true    | 

id 为 3 的用户在书签中没有任何产品,结果将是这样的:

 product_id |  product_name  | ... | BOOKMARKS |
------------------------------------------------
      1     | product name 1 | ... |   false   |
      2     | product name 2 | ... |   false   |
      3     | product name 3 | ... |   false   | 

请帮我解决我的问题

sql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-22 16:28:39 +0000 UTC

检查表中是否存在记录并返回 true 或 false

  • 0

我有一个用户表:

 user_id |  user_name  | ... |
------------------------------
   1     |    name 1   | ... |
   2     |    name 2   | ... |
   3     |    name 3   | ... |

应该用什么查询来检查user_idusers 表中是否有用户,如果有 -return true,如果没有 -return false?

sql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-19 14:20:10 +0000 UTC

从另一个表计算产品喜欢

  • 0

有一张产品表:

product_id |  product_name | ... 
--------------------------------
     1     |     name 1    | ...
     2     |     name 2    | ...
     3     |     name 3    | ...

有一个喜欢的表存储在product_id哪里user_id

  like_id  | product_id | user_id
--------------------------------
     1     |     1      | 1
     2     |     2      | 1
     3     |     1      | 2

即第一个产品有两个赞,第二个有一个,第三个没有赞。

我如何计算并在表格中显示它products,如果没有喜欢,显示一个空字段?

sql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-18 15:18:51 +0000 UTC

从列中删除第一个 url

  • 0

有一张桌子select * from table:

ID |  name  |     photos                                                      | 
-------------------------------------------------------------------------------
1  | name 1 | {http://.../photos_1, http://.../photos_2, http://.../photos_3}
2  | name 2 | {http://.../photos_1, http://.../photos_2, http://.../photos_3}

photos对我来说,只有第一个从 column中显示出来url,其余的都没有。

变成这样:

ID |  name  |     photos         |
----------------------------------
1  | name 1 | http://.../photos_1
2  | name 2 | http://.../photos_1

如何生成这样的请求?

postgresql
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-15 18:57:49 +0000 UTC

数据验证停止工作

  • 0

数据验证停止工作,我使用express-validator和multer。express-validator我验证用户输入的字段,multer上传和验证图像。阅读文档后,我看到了Multer добавляет объект body и объект file (или files) внутрь объекта request. Объект body содержит значения текстовых полей формы, объект file (files) содержит файл или файлы, загружаемые через форму.. 现在的问题是在对象内添加body对象时如何检查express-validator用户输入的字段?multerrequest

我这样做:

import { check, validationResult } from 'express-validator/check';

const validatorSignup = [
    check('user_name').exists().isLength({ min: 4, max: 20 }),
    ....
];

router.post('/signup', (req, res) => {
    try {
        upload(req, res, validatorSignup, (err) => {
            console.log(req.body)
            const errors = validationResult(req.body);
            if (!errors.isEmpty()) {
                return res.status(422).json({
                    err: errors.array()
                });
            }
      ....
    } catch (err) {
        return res.status(500).json({
            err: err
        });
    }
});

在validationResultI passreq.body中,一切正常,但如果一个或多个字段留空,express-validator它不会对此做出反应。

我也尝试转移到upload数组本身validatorSignup,但出现错误

onFinished(req, function () { next(err) })
                                    ^
TypeError: next is not a function
node.js
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-14 17:55:50 +0000 UTC

Catch 有效,我不知道为什么

  • 1

我正在对用户输入进行快速验证器验证。另外,我检查了用户的头像。验证器被触发,它显示我没有输入单个字段的错误:

 {
    "err": [
        {
            "location": "body",
            "param": "user_name",
            "msg": "Invalid value"
        },
        {
            "location": "body",
            "param": "user_name",
            "msg": "Invalid value"
        },
        ...
    ]
}

为什么它有效catch,我哪里出错了?代码本身:

import upload from'../config/multer.config.js';
import { check, validationResult } from 'express-validator/check';

const validatorSignup = [
    check('user_name').exists().isLength({ min: 4, max: 20 }),
    ...
];

router.post('/add', validatorSignup, (req, res) => {
try {
    upload(req, res, function (err) {
        if (err) {
            return res.status(422).json({
                err: err
            });
        }
    })
    const error = validationResult(req);
    if (!error.isEmpty()) {
        return res.status(422).json({
            err: error.array()
        });
    }
} catch (err) {
    console.log(err)
}
node.js
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-13 19:04:07 +0000 UTC

图像格式检查后不去路由

  • 0

我正在检查图像。安装multer好了,配置代码如下:

'use strict';

import multer, { memoryStorage } from 'multer';
import path from'path';

let storage = memoryStorage()
let upload = multer({
    storage: storage,
    limits: {
        fileSize: 1000000
    },
    fileFilter: (req, res, file) => {
        let ext = path.extname(file.originalname)
        if (ext !== '.png' && ext !== '.jpg' && ext && ext !== '.jpeg') {
            return res.status(422).json({
                errors: 'Only images are allowed'
            });
        }
    }
}).fields([{
        name: 'user_avatar',
        minCount: 1,
        maxCount: 1
    },
    {
        name: 'product_photos',
        minCount: 1,
        maxCount: 3
    }
]);

export default upload;

扩展识别,检查。但验证后,它不会去我的路线,这里是代码:

import upload from'../config/multer.config.js';

router.post('/work', upload, (req, res) => {
    try {
        return res.status(200).json({
            message: 'API Its Working'
        });
    } catch (err) {
        res.status(422).json({
            error: err
        });
    }
});

为什么它不去我的路线?

node.js
  • 1 个回答
  • 10 Views
Martin Hope
MegaRoks
Asked: 2020-02-12 14:17:45 +0000 UTC

连接两个sql查询的问题

  • 0

有两个查询,第一个打印表中的所有产品products:

CREATE TABLE products(
    product_id                          SERIAL PRIMARY KEY, 
    ....
    likes                               INTEGER NOT NULL
);

请求本身:

SELECT * FROM PRODUCTS.

第二个计算表中的喜欢likes:

CREATE TABLE likes(
    like_id                             SERIAL PRIMARY KEY, 
    product_id                          INTEGER NOT NULL, 
    user_id                             INTEGER NOT NULL
);

请求本身:

`SELECT COUNT(1) FROM LIKES WHERE PRODUCT_ID = '${product_id}'.

我需要在 tableproducts的字段中获得likes来自 table 的喜欢的数量likes。问题是,如何统计表中的点赞数,product_id并在字段likes中的表中记下?productslikes

sql
  • 1 个回答
  • 10 Views

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    我看不懂措辞

    • 1 个回答
  • Marko Smith

    请求的模块“del”不提供名为“default”的导出

    • 3 个回答
  • Marko Smith

    "!+tab" 在 HTML 的 vs 代码中不起作用

    • 5 个回答
  • Marko Smith

    我正在尝试解决“猜词”的问题。Python

    • 2 个回答
  • Marko Smith

    可以使用哪些命令将当前指针移动到指定的提交而不更改工作目录中的文件?

    • 1 个回答
  • Marko Smith

    Python解析野莓

    • 1 个回答
  • Marko Smith

    问题:“警告:检查最新版本的 pip 时出错。”

    • 2 个回答
  • Marko Smith

    帮助编写一个用值填充变量的循环。解决这个问题

    • 2 个回答
  • Marko Smith

    尽管依赖数组为空,但在渲染上调用了 2 次 useEffect

    • 2 个回答
  • Marko Smith

    数据不通过 Telegram.WebApp.sendData 发送

    • 1 个回答
  • Martin Hope
    Alexandr_TT 2020年新年大赛! 2020-12-20 18:20:21 +0000 UTC
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5