[英]How to compare 2 collections and fetch matched field data in mongodb?
[英]How to fetch the data in the mongodb
如何使用mongoshell從json文件中獲取數據
我想fecch由數據policyID
在我發送的策略ID JSON文件說的是3148
我嘗試了幾種寫命令的方法,但是說獲取了0行。
db.GeneralLiability.find({"properties.id":"21281"})
db.GeneralLiability.find({properties:{_id:"21281"}})
我是否需要設置其他內容?索引,光標等?
樣本json
{
"session": {
"data": {
"account": {
"properties": {
"userName": "abc.com",
"_dateModified": "2014-10-01",
"_manuscript": "Carrier_New_Rules_2_1_0",
"_engineVersion": "2.0.0",
"_cultureCode": "en-US",
"_cultureName": "United States [english]",
"_context": "Underwriter",
"_caption": "Carrier New Rules (2.1.0)",
"_id": "p1CEB08012E51477C9CD0E89FE77F5E51"
},
"properties": {
"_xmlns:xsd": "http://www.w3.org/2001/XMLSchema",
"_xmlns:xsi": "http://www.w3.org/2001/XMLSchema-instance",
"_id": "3148",
"_HistoryID": "5922",
"_Type": "onset",
"_Datestamp": "2014-10-01T04:46:33",
"_TransactionType": "New",
"_EffectiveDate": "2014-01-01",
"_Charge": "1599",
"_TransactionGroup": "t4CE4FA751F9C400D9007E692A883DA66",
"_PolicyID": "3148",
"_Index": "1",
"_Count": "1",
"_Sequence": "1"
}
}
}
您在文檔格式方面遇到一些問題。 首先,我很確定使用下划線保留給mongo使用(我可能錯了)。 無論哪種方式都是不好的形式。 我已經為您重組了您的數據。 我不確定您為什么要嵌套這么多數據,但是我想您有充分的理由。
您會注意到,我正在使用Mongo的ObjectID作為我的_id:
{
"_id" : ObjectId("56e1c1f53bac31a328e3682b"),
"session" : {
"data" : {
"account" : {
"properties" : {
"xmlns:xsd" : "http://www.w3.org/2001/XMLSchema",
"xmlns:xsi" : "http://www.w3.org/2001/XMLSchema-instance",
"HistoryID" : "5922",
"Type" : "onset",
"Datestamp" : "2014-10-01T04:46:33",
"TransactionType" : "New",
"EffectiveDate" : "2014-01-01",
"Charge" : "1599",
"TransactionGroup" : "t4CE4FA751F9C400D9007E692A883DA66",
"PolicyID" : "3148",
"Index" : "1",
"Count" : "1",
"Sequence" : "1"
}
}
}
}
}
現在,如果您運行此命令,它將返回您的文檔:
{ "session.data.account.properties.PolicyID": "3148" }
這將返回_PolicyID = "3148"
的文檔:
db.GeneralLiability.find({
"session._PolicyID": "3148"
}).pretty();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.