Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xcode/7.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
Mongodb mongoose:在对象内查找值,在对象数组内查找数组_Mongodb_Mongoose_Mongodb Query - Fatal编程技术网

Mongodb mongoose:在对象内查找值,在对象数组内查找数组

Mongodb mongoose:在对象内查找值,在对象数组内查找数组,mongodb,mongoose,mongodb-query,Mongodb,Mongoose,Mongodb Query,你好,很抱歉给你起了个名字, 很难用语言来解释 我有一个多重级别的数据: -strategyParameters->[wsent->[{confirmationCandle.timestamp}]] 我试图请求文档,具有内部wSent、内部strategyParameters、大于某个值的确认烛光时间戳。 我尝试过几次类似的尝试: db.getCollection('users').find({"exchange":"binance","pair

你好,很抱歉给你起了个名字, 很难用语言来解释

我有一个多重级别的数据:

-strategyParameters->[wsent->[{confirmationCandle.timestamp}]]

我试图请求文档,具有内部wSent、内部strategyParameters、大于某个值的确认烛光时间戳。 我尝试过几次类似的尝试:

db.getCollection('users').find({"exchange":"binance","pair":"LTCUSDT","timeframe":"1h","wSent.confirmationCandle.timestamp":{"$gt":1606644800000}})
但这是不成功的,任何帮助都将不胜感激

下面是my db中文档的具体示例:

{
"_id" : ObjectId("5fd7b0f1356b89312949963a"),
"email" : "test@test.com",
"password" : "$2b$10$egeg",
"strategyParameters" : [ 
    {
        "_id" : ObjectId("5fd7c9940d0f3033fc527547"),
        "pair" : "LTCUSDT",
        "strategy" : "w",
        "timeframe" : "1h",
        "exchange" : "binance",
        "wSent" : [ 
            {
                "_id" : ObjectId("5fd7adb9d157b430a05a87b1"),
                "firstBottom" : {
                    "open" : 79.46,
                    "high" : 80.07,
                    "low" : 78.29,
                    "close" : 78.91,
                    "timestamp" : 1606690800000.0,
                    "isTop" : false,
                    "isBottom" : true
                },
                "top" : {
                    "open" : 78.89,
                    "high" : 80.5,
                    "low" : 78.87,
                    "close" : 79.7,
                    "timestamp" : 1606694400000.0,
                    "isTop" : true,
                    "isBottom" : false
                },
                "seconBottom" : {
                    "open" : 79.73,
                    "high" : 79.84,
                    "low" : 78.55,
                    "close" : 79.29,
                    "timestamp" : 1606698000000.0,
                    "isTop" : false,
                    "isBottom" : true
                },
                "confirmationCandle" : {
                    "open" : 81.56,
                    "high" : 85,
                    "low" : 81.1,
                    "close" : 83.24,
                    "timestamp" : 1606744800000.0, <-- the target
                    "isTop" : false,
                    "isBottom" : false
                },
                "exchange" : "binance",
                "pair" : "LTCUSDT",
                "timeframe" : "1h"
            }
        ]
    }
]
}
{
“_id”:ObjectId(“5FD7B0F1356B8931294993A”),
“电子邮件”:test@test.com",
“密码”:“$2b$10$egeg”,
“战略参数”:[
{
“_id”:ObjectId(“5fd7c9940d0f3033fc527547”),
“配对”:“LTCSDT”,
“战略”:“w”,
“时间框架”:“1h”,
“交换”:“二进制”,
“wSent”:[
{
“_id”:ObjectId(“5fd7adb9d157b430a05a87b1”),
“firstBottom”:{
“开放”:79.46,
“高”:80.07,
“低”:78.29,
“收盘”:78.91,
“时间戳”:1606690800000.0,
“isTop”:错误,
“isBottom”:正确
},
“顶部”:{
“开放”:78.89,
“高”:80.5,
“低”:78.87,
“关闭”:79.7,
“时间戳”:1606694400000.0,
“isTop”:是的,
“isBottom”:false
},
“seconBottom”:{
“开放”:79.73,
“高”:79.84,
“低”:78.55,
“结束”:79.29,
“时间戳”:1606698000000.0,
“isTop”:错误,
“isBottom”:正确
},
“确认蜡烛”:{
“开放”:81.56,
“高”:85,
“低”:81.1,
“结束”:83.24,

“时间戳”:1606744800000.0,您的查询不匹配,因为您正在搜索的字段与文档的结构不匹配。示例文档没有
exchange
pair
timeframe
wSent.confirmationCandle.timestamp
字段。但它确实有
strategyParameters.wSent.exchangee> ,
strategyParameters.wSent.pair
strategyParameters.wSent.timeframe
strategyParameters.wSent.confirmationCandle.timestamp
字段

您的查询应该如下所示:

db.getCollection("users").find({
  "strategyParameters.wSent.exchange": "binance",
  "strategyParameters.wSent.pair": "LTCUSDT",
  "strategyParameters.wSent.timeframe": "1h",
  "strategyParameters.wSent.confirmationCandle.timestamp": { $gt :1606644800000 }
})