获取数组中项的值

时间:2018-03-12 14:14:04

标签: mongodb asp.net-core .net-core

我有一个结构,我想找到一个令牌的值,它是access_tokens的一个子项,用于比较一个令牌值。我怎样才能找到令牌?

{
    "_id" : ObjectId("5aa28846de35244ec439a563"),
    "user" : ObjectId("5a9d53e52d989d2accda2ee5"),
    "refresh_token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJyZWZyZXNoX3Rva2VuIiwianRpIjoiNWE1NDZmOGQtNjBjMy00YmYzLTk0OGQtYjJiM2E5MDU5MWMwIiwib2JqZWN0aWQiOiI1YTlkNTNlNTJkOTg5ZDJhY2NkYTJlZTUiLCJleHAiOjE1MjA2MDQ3MjMsImlzcyI6IlByb25ldCBBUyIsImF1ZCI6IkF1dGhBcGkifQ.sxfUJgFnfMKKtSOLzksfPB-FqQN4ydaKi9YAVZqobK4",
    "expTime" : "9.03.2018 14:12:03",
    "access_tokens" : [{
        "token" : "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJhY2Nlc3NfdG9rZW4iLCJqdGkiOiIxMzM1Nzg0My0xNzRhLTQwOWYtOTgyMS0yY2ZhN2U1NmE5NDYiLCJvYmplY3RpZCI6IjVhOWQ1M2U1MmQ5ODlkMmFjY2RhMmVlNSIsImV4cCI6MTUyMDYwNDcyMywiaXNzIjoiUHJvbmV0IEFTIiwiYXVkIjoiQXV0aEFwaSJ9.KgYWj8w89W4DsyX5pkg7OPuCyT2DFUSAktkMmlb1kOk",
        "exp_date" : "9.03.2018 14:12:03"
    }]
}

1 个答案:

答案 0 :(得分:0)

我有一个名为SubToken的访问令牌的类,并且存在一个存储在mongodb中的集合的结构,它被称为TokenCollection。我达到了suboken(访问令牌),它是刷新令牌的子项,称为令牌。

 SubToken res = TokenCollection.Find(new BsonDocument { { "access_tokens.token", access_token } }).FirstAsync().Result.access_tokens.Find(x => x.token == access_token);