我有一个 Flutter 应用程序(仍在开发中),目前使用 Firebase 作为后端。更具体地说,我使用 Firebase 身份验证、存储、云功能、Firestore,将来我愿意使用远程配置、动态链接、云消息传递以及 Firebase 的更多功能。
我发现 Firestore 已经不足以满足我的目的:全文搜索、地理查询和一般高级查询。我知道我可以使用像Algolia这样的第三方服务,但它太贵了,而且我想要一些已经与我的数据库集成的东西。
我正在考虑开始使用 MongoDB 作为我的数据库(同时保留所有其他 Firebase 服务),但在此之前我需要了解最好的方法是什么。
如果在开始切换到 MongoDB 之前我需要考虑更多事情,请指出给我。
我试图将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)
我想知道为什么会这样,以及如何得到我想要的东西.
我有一个泛型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).有任何想法吗?