Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是“;查询”;MongoDB中的保留名称?_Javascript_Mongodb - Fatal编程技术网

Javascript 是“;查询”;MongoDB中的保留名称?

Javascript 是“;查询”;MongoDB中的保留名称?,javascript,mongodb,Javascript,Mongodb,当我试图使用query作为引用字段的键名时,我遇到了MongoDB v2.0.7的这种奇怪行为 如果我插入了一条带有名为query的引用字段的记录,MongoDB将无法检索该对象: > db.item.insert({query: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}}) > db.item.find({query: {$ref: "query", $id: ObjectId("50361887352fc

当我试图使用
query
作为引用字段的键名时,我遇到了MongoDB v2.0.7的这种奇怪行为

如果我插入了一条带有名为
query
的引用字段的记录,MongoDB将无法检索该对象:

> db.item.insert({query: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}})
> db.item.find({query: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}})
>
但是,如果我将字段名称更改为
query\uu
,则一切正常:

> db.item.insert({query_: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}})
> db.item.find({query_: {$ref: "query", $id: ObjectId("50361887352fc04c86af4c10")}})
{ "_id" : ObjectId("503619f0dd2290f4bb17a275"), "query_" : { "$ref" : "query", "$id" : ObjectId("50361887352fc04c86af4c10") } }
如果字段具有简单的非复合值,也可以:

> db.item.insert({query: ObjectId("50361887352fc04c86af4c10")})
> db.item.find({query: ObjectId("50361887352fc04c86af4c10")})
{ "_id" : ObjectId("50361b44dd2290f4bb17a276"), "query" : ObjectId("50361887352fc04c86af4c10") }

是我遗漏了什么,还是这是MongoDB bug?

我认为存在未记录的保留字段名。我遇到了。

谢谢。这是一个相当讨厌的错误。我正在使用MongoEngine,花了一天时间才找出问题的原因。