日韩小视频-日韩久久一区二区三区-日韩久久一级毛片-日韩久久久精品中文字幕-国产精品亚洲精品影院-国产精品亚洲欧美云霸高清

下載吧 - 綠色安全的游戲和軟件下載中心

軟件下載吧

當(dāng)前位置:軟件下載吧 > 數(shù)據(jù)庫(kù) > DB2 > mongo數(shù)據(jù)集合屬性中存在點(diǎn)號(hào)(.)的解決方法

mongo數(shù)據(jù)集合屬性中存在點(diǎn)號(hào)(.)的解決方法

時(shí)間:2024-02-24 17:17作者:下載吧人氣:24

前言

MongoDB是面向集合存儲(chǔ)的文檔型數(shù)據(jù)庫(kù),其涉及到的基本概念與關(guān)系型數(shù)據(jù)庫(kù)比有所不同。本文主要介紹關(guān)于mongo數(shù)據(jù)集合屬性存在點(diǎn)號(hào)(.)的相關(guān)內(nèi)容,下面話不多說(shuō)了,來(lái)一起看看詳細(xì)的介紹吧

基本知識(shí)點(diǎn):

1.似乎mongo3.6之前不允許插入帶點(diǎn)(.)或美元符號(hào)($)的鍵,但是當(dāng)我使用mongoimport工具導(dǎo)入包含點(diǎn)的JSON文件時(shí),它工作正常。

2.在使用spring-data-mongodb處理mongodb的增刪改查時(shí)會(huì)通過(guò)一個(gè)MappingMongoConverter(Document和Modle轉(zhuǎn)換類(lèi))轉(zhuǎn)換數(shù)據(jù)

3.具體對(duì)點(diǎn)號(hào)的轉(zhuǎn)換在DBObjectAccessor(spring-data-mongodb-1.10.13)或者DocumentAccessor(spring-data-mongodb-2.0.9),如下:

//插入時(shí)轉(zhuǎn)換
public void put(MongoPersistentProperty prop, Object value) {
Assert.notNull(prop, “MongoPersistentProperty must not be null!”);
String fieldName = prop.getFieldName();
if (!fieldName.contains(“.”)) {
dbObject.put(fieldName, value);
return;
}
Iterator<String> parts = Arrays.asList(fieldName.split(“\.”)).iterator();
DBObject dbObject = this.dbObject;
while (parts.hasNext()) {
String part = parts.next();
if (parts.hasNext()) {
dbObject = getOrCreateNestedDbObject(part, dbObject);
} else {
dbObject.put(part, value);
}
}
}

//查詢時(shí)轉(zhuǎn)換
public Object get(MongoPersistentProperty property) {
String fieldName = property.getFieldName();
if (!fieldName.contains(“.”)) {
return this.dbObject.get(fieldName);
}
Iterator<String> parts = Arrays.asList(fieldName.split(“\.”)).iterator();
Map<String, Object> source = this.dbObject;
Object result = null;
while (source != null && parts.hasNext()) {
result = source.get(parts.next());
if (parts.hasNext()) {
source = getAsMap(result);
}
}
return result;
}

//判斷值是否為空
public boolean hasValue(MongoPersistentProperty property) {
Assert.notNull(property, “Property must not be null!”);
String fieldName = property.getFieldName();
if (!fieldName.contains(“.”)) {
return this.dbObject.containsField(fieldName);
}
String[] parts = fieldName.split(“\.”);
Map<String, Object> source = this.dbObject;
Object result = null;
for (int i = 1; i < parts.length; i++) {
result = source.get(parts[i – 1]);
source = getAsMap(result);
if (source == null) {
return false;
}
}
return source.containsKey(parts[parts.length – 1]);
}

標(biāo)簽mongo,數(shù)據(jù),集合,屬性,存在,點(diǎn)號(hào),解決,方法

相關(guān)下載

查看所有評(píng)論+

網(wǎng)友評(píng)論

網(wǎng)友
您的評(píng)論需要經(jīng)過(guò)審核才能顯示

熱門(mén)閱覽

最新排行

公眾號(hào)

主站蜘蛛池模板: 成人a毛片视频免费看 | 国内国产真实露脸对白 | 99看视频| 欧美激情视频一级视频一级毛片 | 三级网站视频在线观看 | 国产亚洲亚洲精品777 | 国内自拍亚洲 | 久久国产一区二区 | 日本一区二区三区不卡视频中文字幕 | 国产大片在线观看 | 97青青草原国产免费观看 | 成人18免费网 | 俄罗斯一级毛片免费播放 | 欧美国产成人精品一区二区三区 | 三级毛片网站 | 在线观看免费视频网站色 | 尤物tv已满18点击进入 | 日韩女人做爰大片 | 亚洲成人在线视频网站 | 亚洲精品视频久久 | 久久九| 87精品福利视频在线观看 | 国内自拍第100页 | 无毒在线| 国产乱码精品一区二区三区中 | 99精品久久精品一区二区 | 国产乱子伦在线观看不卡 | 国产美女毛片 | 日韩精品中文字幕一区三区 | 欧美极品大肚孕妇孕交 | 性夜影院爽黄a爽免费看网站 | 国产一区亚洲二区三区毛片 | 国产免费麻豆 | 日本精品久久久久久久久免费 | 国产在线观看一区二区三区四区 | 成人自拍在线 | 手机看片日韩日韩韩 | 亚洲人成网站在线观看播放 | 欧美另类videosbestsex久久 | 最刺激黄a大片免费观看下截 | 国产视频在线免费观看 |