小编Amo*_*kar的帖子

insertMany 方法返回对象中的 insertIds 而不是 Mongoose 5 中的数组

最近我将 Mongoose 从 4.x 更新到 5.x,代码在 insertMany 返回值处被破坏。

更新之前,insertedIds是返回对象中的键,值是一个数组,其中包含所有插入的ObjectIds,例如

[ObjectId1, ObjectId2].
Run Code Online (Sandbox Code Playgroud)

更新后,insertedIds 的值是一个如下所示的对象:

{ 
  1: ObjectId1, 
  2: ObjectId2 
}
Run Code Online (Sandbox Code Playgroud)

我必须使用 Object.values 将其转换为数组。我在Mongo shell中尝试了insertMany方法,insertedIds是Array。

我在升级过程中错过了什么吗?

mongoose mongodb

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

从反应本机数组中的对象获取密钥

constructor(props) {
    super(props);
    this.state = ({
        childData: [],
        test: []
    });
}

componentDidMount() {
    let userId = firebase.auth().currentUser.uid;
    firebase.database().ref('poolog/' + userId).on('value', (snapshot) => {
       let test = [];
       snapshot.forEach((childSnapshot) => {
          let childKey = childSnapshot.key;
          test.push(snapshot.val());
        });
        this.setState({childData: test});
        // console.log(this.state.childData);
    });
Run Code Online (Sandbox Code Playgroud)

我在React的返回方法中使用了这个函数。

 {this.state.childData.map((item, key) =>
     <View key={key}>
        {console.log(Object.values(item) + 'test')}
        <Text>{Object.keys(item)}</Text>
        {Object.values(item).map((value, index) =>
          <View></View>
        )}
     </View>
  )}
Run Code Online (Sandbox Code Playgroud)

我有一个问题,我只想要一个特定的值,Object.values(item)给出所有值,当我使用Object.values(item[key])Object.values(item[0])我得到:

TypeError: undefined is not an object (evaluating 'Object.keys(item[0]') 或 TypeError: undefined is not an …

javascript reactjs react-native

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

AWS S3 - 拒绝访问,请求尚未生效

我需要显示来自 S3 的私人文件,所以我正在生成 S3 签名 URL,但是当我在浏览器中打开 url 时,我得到了这个,

<Error>
<Code>AccessDenied</Code>
<Message>Request is not yet valid</Message>
<X-Amz-Date>1559667828000</X-Amz-Date>
<Expires>2019-06-04T17:08:46Z</Expires>
<ServerTime>2019-06-04T04:38:30Z</ServerTime>
<RequestId>BCB52dF0973D5E20</RequestId>
<HostId>********************************************</HostId>
</Error>

Run Code Online (Sandbox Code Playgroud)

我不明白是什么问题,任何人都可以解释这个错误。

生成签名url的代码

 GetPreSignedUrlRequest request1 = new GetPreSignedUrlRequest
    {
      BucketName = bucketName,
      Key = "key",
      Expires = DateTime.Now.AddMinutes(5)
    };
   urlString = client.GetPreSignedURL(request1);
Run Code Online (Sandbox Code Playgroud)

c# asp.net amazon-s3 amazon-web-services

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