小编z00*_*00x的帖子

将 MongoDB 与 Firebase 集成

我有一个 Flutter 应用程序(仍在开发中),目前使用 Firebase 作为后端。更具体地说,我使用 Firebase 身份验证、存储、云功能、Firestore,将来我愿意使用远程配置、动态链接、云消息传递以及 Firebase 的更多功能。

我发现 Firestore 已经不足以满足我的目的:全文搜索、地理查询和一般高级查询。我知道我可以使用像Algolia这样的第三方服务,但它太贵了,而且我想要一些已经与我的数据库集成的东西。

我正在考虑开始使用 MongoDB 作为我的数据库(同时保留所有其他 Firebase 服务),但在此之前我需要了解最好的方法是什么。

  1. 我可以在Firebase Hosting上托管 MongoDB (我不知道这是否可能?),或者只是使用MongoDB Atlas并从我的应用程序直接访问它(请参阅我的下一个问题)?
  2. 将我的应用程序连接到 MongoDB 的最佳方式是什么?直接从应用程序(使用 Rest API)还是使用 Firebase Cloud Functions(这样我就不会公开我的数据库)?
  3. 我可以使用 Firebase 身份验证令牌访问 MongoDB 还是必须使用 MongoDB 的身份验证服务?

如果在开始切换到 MongoDB 之前我需要考虑更多事情,请指出给我。

mongodb firebase flutter google-cloud-firestore

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

如何将字符串中的"\ t"拆分为两个单独的字符"\"和"t"?(如何拆分转义序列?)

我试图将python中的字符串拆分为字符列表.我知道在python中有很多方法可以做到这一点,但我有一个案例,那些方法不能给我想要的结果.

当我在字符串中显式写入'\ t'之类的特殊字符时,会出现问题(我并不是指真正的标签).

例:

string = "    Hello \t World."
Run Code Online (Sandbox Code Playgroud)

我需要的输出是:

list_of_chars = [' ', ' ', ' ', ' ', 'H', 'e', 'l', 'l', 'o', ' ', '\', 't', ' ', 'W', 'o', 'r', 'l', 'd', '.']
Run Code Online (Sandbox Code Playgroud)

但是当我使用这个问题中给出的方法时,我得到一个包含'/ t'作为整个字符串的列表 - 没有分开.

例:

> list(string)
> ['H', 'e', 'l', 'l', 'o', 'w', ' ', '\t', ' ', 'W', 'o', 'r', 'l', 'd', '.']
Run Code Online (Sandbox Code Playgroud)

我想知道为什么会这样,以及如何得到我想要的东西.

python string python-3.x

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

通过实现两个不同于const的函数来避免代码重复

我有一个泛型Matrix类,我有两个版本operator(),一个const方法返回索引的const引用,一个非const方法返回索引的非const引用(允许我更改它.

我试图通过使用const_cast并调用const版本来使用非const版本,但由于某种原因它不起作用:

template<typename T>
class Matrix
{

    std::vector<T> _matrix;
    unsigned int _rows;
    unsigned int _cols;
 public:
    const T& operator()(unsigned int row, unsigned int col) const
    {
        return _matrix[col + (_cols * row)];
    }

    T& operator()(unsigned int row, unsigned int col)
    {
    return const_cast<T&>(static_cast<const Matrix*> (*this).operator(row, col));
    }
};
Run Code Online (Sandbox Code Playgroud)

它不允许我在最后一行向操作符添加(row,col).有任何想法吗?

c++

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