小编Vpp*_*Man的帖子

Mongoose 在结果的 _id 字段中返回“new ObjectId”

当我尝试查询时,结果包含_id带有“new ObjectId()”的字段。如何避免这种“new ObjectId()”并仅将哈希值包含为字符串。由于此问题,将数据作为 JSON 响应发送回失败。

下面是一个基本的demo:

我的查询代码:

book_data = await Book.find({ slug: 'test' }).
                        where('status').equals('Active').select('title').exec()

console.log( book_data )                    
Run Code Online (Sandbox Code Playgroud)

回复:

[
  {
    _id: new ObjectId("6164aff742da0eac31a87b9a"),
    title: 'Test' 
  }
]
Run Code Online (Sandbox Code Playgroud)

mongoose mongodb node.js reactjs next.js

5
推荐指数
1
解决办法
4439
查看次数

加入另一个包含标签的表

我有一个名为“posts”的表,其结构如下:

post_id  |  post_body  | post_posterid
Run Code Online (Sandbox Code Playgroud)

我还有另一个表叫做“标签”:

tag_id  |  tag_name
Run Code Online (Sandbox Code Playgroud)

第三个表存储两个表之间的关系(每个 post_id 将有多个 tags_id 作为单独的记录):

post_id  |  tag_id
Run Code Online (Sandbox Code Playgroud)

这类似于我正在尝试创建的 stackoverflow 标记。

但我不知道如何在单个记录中加入表格并连接每个帖子的标签。像这样:

post_id  |  post_body  |  post_postername  |  tag_id1  |  tag_id2  |  tag_id3  ..... tag_name1  |  tag_name2  | tag_name3 ....
Run Code Online (Sandbox Code Playgroud)

因此,在使用 PDO 从 mysql 获取时,我可以避免进一步查询以获取标签名称。

编辑 更多细节:

第一个表(“posts”)包含帖子 id(一个唯一的 id)、发布的消息和海报的 id(存储在表“poster”中的唯一海报 id)。第二个表“标签”包含具有唯一 tag_id 的可能标签(如“php”、“vb.net”等,如在 stackoverflow 中)。第三个表包含发布的消息和标签之间的关系。所以它包含 post_id 及其对应的 tag_id。可以为同一个帖子分配 1 个以上的标签。

我想要什么:当被查询时,我可以将“posts”与“posters”表连接起来以获取名称。但我也想为每个帖子获取标签。

GROUP_CONCAT() 是我的问题的答案。但是如何将其作为 tag_id - tag_name 对获取,而不是一个字段中的所有 tag_id 和另一个字段中的所有 tag_name。

例如: 1-VB , 5-PHP , 19-SQL

我将在 PHP 中分离这对 …

php mysql sql

3
推荐指数
1
解决办法
357
查看次数

ReactNative 无法从 > 不同组件的函数体内部更新组件

我的HomeHeader组件是这样的:

import React from "react";
import { View, StyleSheet, Text, Image } from "react-native";
import Icon from "react-native-vector-icons/FontAwesome5";

export default function HomeHeader({ navigation }) {
  return (
    <View style={styles.home_header}>
      <Icon
        style={styles.menu}
        name="bars"
        size={30}
        color="white"
        onPress={navigation.toggleDrawer()}
      />

      <Image
        style={styles.header_logo}
        source={require("../assets/logo.png")}
      />
      <Text>Hello</Text>
    </View>
  );
}
Run Code Online (Sandbox Code Playgroud)

并在我的屏幕中使用它,如下所示:

return (
  <View>
    <HomeHeader navigation={navigation} />
  </View>
)
Run Code Online (Sandbox Code Playgroud)

但我收到此错误消息:

警告:无法从不同组件的函数体内部更新组件。

我想要做的是,我已将 HOME 屏幕的标题部分分离到一个名为 HomeHeader 的单独组件中。在这个组件中,我附加了事件处理程序来切换 DrawerNavigation(左侧抽屉菜单)的打开/关闭

如果我在主屏幕中创建一个 Button 并添加事件处理程序来切换抽屉,它工作正常。但是只有当我从我的 HomeHeader 组件内部尝试这个问题时才会发生。

顺便说一句,我正在使用 ReactNavigation v5,我什至尝试过这种方法:https ://reactnavigation.org/docs/connecting-navigation-prop/

到目前为止没有运气。

react-native react-navigation react-navigation-drawer react-navigation-stack

3
推荐指数
1
解决办法
6598
查看次数

WordPress - 以编程方式在页面中插入 Elementor 小部件

我在我的 WordPress 网站上安装了 Elementor Pro,我正在编写一个自定义插件,该插件将执行一些操作并以编程方式创建一个新页面。我能够创建页面,但问题是,我想以编程方式在这个新页面中插入一个 Elementor 小部件。

我已经联系了 Elementor 支持,看看他们是否对我有任何意见。但他们的回答是:

尽管我很想为您提供帮助,但自定义代码/片段或任何指导超出了我们的支持范围,因为我们仅提供对 Elementor 现有功能的支持。

那么无论如何我可以通过代码实现这一点,我的意思是将特定的 Elementor Widget 插入页面?

wordpress elementor wordpress-plugin-creation

2
推荐指数
1
解决办法
1687
查看次数

仅允许使用小写字符

我使用以下代码来检查用户输入是否为小写.我会允许角色az.不允许其他角色.

JavaScript文件:

var pat = /[a-z]/;

function checkname()
{
  var t = $("input[name='user_name']").val();

  if(pat.test(t) == false)
  {
    alert('Only lowercase characters allowed');
  }
}
//... other functions
Run Code Online (Sandbox Code Playgroud)

但这个donot一直在工作.如果我进入industrialS,它将找不到资本'S'.

我也尝试过:/^[a-z]$//[a-z]+/.但不行.

请帮我.

javascript regex jquery

1
推荐指数
1
解决办法
1万
查看次数

检查文件是否上传

我有一个页面来添加新文章.用户接受的字段是:

  • 文章名
  • 文章内容
  • 文章文件(pdf文件)
  • 文章封面图片(图片文件)

创建文章是可以的.为此,我使用带有多部分表单的HTTP POST.但是当它必须被编辑时,我想检查文件是否上传.编辑页面包含与上面相同的字段.

对于名称和内容,我可以检查使用isset()!empty()功能.如果两个功能都失败,则向用户显示一条消息.

我想要的是,在编辑页面中,用户可以避免上传文档和封面图像.那么,如何在服务器端检查用户是否已上传(选择要上传的文件)?如果用户选择了新文档或新封面图像,我将删除旧文件并将其替换为新上传的文件.否则,只更改数据库中的文章名称和文章内容.跳过文件部分,因为用户没有选择任何文件.

我的问题:我们如何检查用户是否选择了新文件?

我在这里很困惑.请帮忙.

php

0
推荐指数
1
解决办法
2257
查看次数

Combobox不显示数据项

我一直在尝试Data在我的mfc项目的DialogWindow中为我的组合框添加项目,在设计时通过Data为这个组合框的属性设置由分号分隔的字符串.

但它只是在运行时显示空组合框.我也尝试在DialogBox AddString()的情况OnInitDialog()下手动使用这个组合框的方法.但那也没有用.

尝试再次创建一个演示项目,当我添加组合框并将值a;b放在Data它的属性中时,它就会显示出来.但在我的项目中尝试了同样的事情,它仍然显示新组合框中的空列表!试图比较两个项目的代码,如头文件和初始化等.发现两者都是相同的.除了我的项目中的按钮和我的自定义c ++代码的一些事件声明之外,其余代码与新创建的演示项目的代码相同!

为什么在我的项目中这个组合框显示一个空的项目列表?:(

编辑:

刚刚注意到这些项目已经在列表中.但是下拉的高度很小,从而阻止了实际的物品出现!:(

试图增加组合框的大小,但我在属性窗口中找不到任何属性,拖动组合框的角落也不会增加高度!:(

mfc combobox visual-c++

0
推荐指数
1
解决办法
2265
查看次数