3

我在 mongo 数据库中有一个子对象,其中包含空格的字段,例如:

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

据我所知,mongo 允许字段 1 和字段 2,但我无法找到任何指示如何构造查询以查找 subdata.Field 1。有没有办法我可以在我的示例中搜索字段 1 和字段 2,还是应该重组数据以消除空格?

4

3 回答 3

6

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

db.test.find({ "subdata.Field 1" : 'Something' } );
于 2012-05-25T14:26:39.320 回答
0

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

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

于 2012-05-25T14:20:22.847 回答
0

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

字段名称限制

字段名称不能包含点(即.)或空字符(即\0),并且它们不能以美元符号(即$)开头。

所以这种查找应该像一个魅力:

db.collection.find({"subdata.Field 1": {$exists: true}})
于 2017-10-30T11:13:15.977 回答