小编pra*_*ad_的帖子

如何保存刷新令牌

我正在尝试为我的应用程序添加身份验证功能.身份验证服务器实现oauth 2.0

我不知道如何保存refresh_token.我想将它保存到文件中,因此下次当应用程序启动并且有一个refresh_token可用时,它可以请求新的access_token.用户无需再次重新登录.

但这对我来说听起来并不安全,因为如果有人将我的具有refresh_token的文件复制到另一台计算机,他可以入侵我的帐户.

oauth oauth-2.0

27
推荐指数
2
解决办法
3万
查看次数

如何使用 MongoDB Java 驱动程序更新数组中的对象?

你好,我有这份文件

{
  email: "email@gmail.com",
  list: [
    {
      "product": "Car",
      "price": 18
    },
    {
      "product": "Boat",
      "price": 20 
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我想知道如何使用参数识别文档,并通过查找具有“Car”参数的产品并使用 MongoDB Java 驱动程序将价格email更新为 15 来更新参数中的特定对象。list

谢谢

java spring mongodb mongodb-java mongodb-atlas

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

如何为数组中嵌套的文档中的字段设置唯一约束?

我在 MongoDB 中有一个文档集合,如下所示:

{"_id": 1, "array": [{"id": 1, "content": "..."}, {"id": 2, "content": "..."}]}
{"_id": 2, "array": [{"id": 1, "content": "..."}, {"id": 2, "content": "..."}, {"a_id": 3, "content": "..."}]}
Run Code Online (Sandbox Code Playgroud)

我想确保每个文档中没有重复的内容array.id。所以提供的示例是可以的,但以下示例则不行:

{"_id": 1, "array": [{"id": 1, "content": "..."}, {"id": 1, "content": "..."}]}
Run Code Online (Sandbox Code Playgroud)

我的问题是如何做到这一点(最好是在PyMongo)。

编辑

我尝试的是以下代码,我认为它会创建密钥(_id, array.id),但如果运行它,则不会发生这种情况:

from pymongo import MongoClient, ASCENDING

client = MongoClient(host="localhost", port=27017)
database = client["test_db"]
collection = database["test_collection"]
collection.drop()

collection.create_index(keys=[("_id", ASCENDING),
                              ("array.id", ASCENDING)],
                        unique=True,
                        name="new_key")

document = {"array": [{"id": 1}, {"id": 2}]} …
Run Code Online (Sandbox Code Playgroud)

arrays indexing mongodb pymongo

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

如何在Spring Boot中初始化一次MongoClient并使用它的方法?

您好,我正在尝试在 Spring Boot 中成功连接后导出MongoClient,并尝试在其他文件中使用它,这样我就不必每次需要在 MongoDB 数据库中进行更改时都调用该连接。

连接非常简单,但目标是将应用程序连接到我的数据库一次,然后通过将其导入到任何 Java 文件中,在任何我想要的地方使用它。

谢谢

java mongodb spring-data-mongodb spring-boot

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

如何在MongoDB中创建仅对特定数据库具有读写访问权限的用户?

我已经通过 shell 创建了用户:

use testDB
db.createUser({user: 'testUser', pwd: 'password', roles: ["readWrite"]})
Run Code Online (Sandbox Code Playgroud)

但用户也可以查看和修改另一个数据库(例如管理员)。我已经检查过db.runCommand({connectionStatus : 1}),“testUser”已记录在会话中。

如何为特定数据库创建具有读写权限的用户?

mongodb mongodb-security

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

MongoDB 聚合中的 $$ROOT 是什么以及它是如何工作的?

我看教程,我可以理解这种聚合是如何工作的,有什么用pings$$ROOT在里面。

client = pymongo.MongoClient(MY_URL)
pings = client['mflix']['watching_pings']
cursor = pings.aggregate([
  {
    "$sample": { "size": 50000 }
  },
  {
    "$addFields": { 
      "dayOfWeek": { "$dayOfWeek": "$ts" },
      "hourOfDay": { "$hour": "$ts" }
    }
  },
  {
    "$group": { "_id": "$dayOfWeek", "pings": { "$push": "$$ROOT" } }
  },
  {
    "$sort": { "_id": 1 }
  }
]);
Run Code Online (Sandbox Code Playgroud)

mongodb pymongo aggregation-framework

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

如何将Function作为参数传递给computeIfAbsent方法?

我是Java新手,有点从C#过渡到Java. java.util.function有一个接口定义为Function输入到computeIfAbsent方法Map.

我想定义并将该函数委托给computeIfAbsent方法.

map.computeIfAbsent(key, k => new SomeObject())
Run Code Online (Sandbox Code Playgroud)

工作,但我希望它与func回调.但问题是Function需要定义输入参数.如何将其设置为void或不设置参数.

map.computeIfAbsent(key, func);
Run Code Online (Sandbox Code Playgroud)

java lambda functional-programming hashmap java-8

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

C#中的并发集合

我正在寻找一种在C#中获得并发集合的方法,或者至少是一个支持并发枚举器的集合.现在,当我迭代的集合发生变化时,我得到一个InvalidOperationException.我可以深入复制该集合并使用私有副本,但我想知道是否有更好的方法

代码段:

foreach (String s in (List<String>) callingForm.Invoke(callingForm.delegateGetKillStrings))
{
    //do some jazz
}
Run Code Online (Sandbox Code Playgroud)

- 编辑 -

我接受了答案,但也发现我需要确保写入集合的代码也需要尝试获取锁定.

private void addKillString(String s)
{
    lock (killStrings)
    {
        killStrings.Add(s);
    }
}
Run Code Online (Sandbox Code Playgroud)

c# concurrency

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

如何解决 mongodump 错误“无法识别”?

嗨,感觉这个问题有一个简单的答案,但我就是看不到。我正在使用命令

Mongodump --db <name> 
Run Code Online (Sandbox Code Playgroud)

我明白了

'mongodump' is not recognized as an internal or external command,
operable program or batch file
Run Code Online (Sandbox Code Playgroud)

. 我怎样才能备份我的 mongodb 谢谢

mongodb mongodump

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

如何使用MongoDB Node本机列出Mongo Collection的所有索引?

好吧,我想知道如何从特定的 mongodb 集合中获取所有索引。我尝试使用listIndexes,indexesindexInformation,但这些方法只给我空值(数组和对象),但如果我db.getCollection('truck').getIndexes()在 mongo 终端上执行,这会给我所有索引。

我想这可能是一个错误,但我没有找到任何关于此的信息,所以让我展示我的示例和“Robo 3T”的屏幕截图。

await connection.collection('truck').indexes() // returns []
await connection.collection('truck').listIndexes().toArray() // returns []
await connection.collection('truck').indexInformation() // returns {}
Run Code Online (Sandbox Code Playgroud)

在此处输入图片说明

所以……这里发生了什么?为什么这些方法效果不佳?

感谢:D

PS:我正在使用mongodb版本3.5.5https : //github.com/mongodb/node-mongodb-native

javascript mongodb node.js node-mongodb-native

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