如何在mongo中使用点表示法查询带空格的字符串?

2024-06-06 23:48:06 发布

您现在位置:Python中文网/ 问答频道 /正文

我在mongo数据库中有一个子对象,其字段包含空格,类似于:

{name: "John Doe", subdata: {"Field 1": "Something", "Field 2": "Something else"}}

根据我所能找到的,mongo允许字段字段1和字段2,但是我没有找到任何关于如何构造查询的指示子数据字段1在我的示例中,有没有一种方法可以搜索字段1和字段2,或者我应该重新构造数据以消除空白?在


Tags: 数据对象方法name数据库示例fieldmongo
3条回答

我不知道pymongo,但是许多其他语言的库都提供对象文档映射功能。我打赌你也会有问题,因为“字段1”在我听说过的每种语言中都是无效的标识符。在

我的建议是:去掉空白,你将来会节省大量的时间。在

除非我误解了你的问题,你可以这样做:

db.test.find({ "subdata.Field 1" : 'Something' } );

Mongo字段名称的空格是有效的。在

Restrictions on Field Names

Field names cannot contain dots (i.e. .) or null characters (i.e. \0), and they must not start with a dollar sign (i.e. $).

因此,查找应该像一个魅力:

db.collection.find({"subdata.Field 1": {$exists: true}})

相关问题 更多 >