簡體   English   中英

如何在 MongoDB 查詢中使用帶有字符(連字符、句點和冒號)的字段名稱?

[英]How do I use a field name with characters (hyphen, period and colon) in MongoDB queries?

我有一個這樣的文件: { _id: 0, x: { y: { "15-8:6.1": 200 } } }

我想使用類似下面的東西,有可能嗎?

var fld = "x.y.15-8:6.1";
db.test.findOne( { fld : 200 } 
db.test.updateOne( { _id: 0 }, { $set : { fld : 999 } } )

我搜索了一點,大多數發現它無法完成。

我不確定這是否是特定於 mongo 的,但是使用 JavaScript 方法,因為findOne function 期望 object 您可以按如下方式構造它:

var fldName = "x.y.15-8:6.1";
var query = {};
query[fldName] = 200;
db.test.findOne(query);

我建議對您使用的實際字段名稱進行一些完整性檢查。 由於這是一個動態查詢,您可能不會更新您想要的字段。 有適當的保護措施可以確保(例如) fldName不為空,或者它的值是預期的格式,這將降低無意中覆蓋某些內容的風險。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM