mongodb多条件查询的问题


  • 註冊用戶

    mongodb多条件查询: db.messages.find({"userid":"56d6963f924f708819fc8293"},{"sendtime":{"$lt":Date.now()}})

    出现了问题如下:

    error: { "$err" : "Can't canonicalize query: BadValue Unsupported projection option: sendtime: { $lt: 1463917205480.0 }", "code" : 17287 }

    写成这样 db.messages.find({"userid":"56d6963f924f708819fc8293","sendtime":{"$lt":Date.now()}}) 两个参数全部放在一个对象里面,好像也不可以啊。

    本帖下載内容已隐藏,请登入以查看隐藏内容!


  • Lv 1

    看起來是多了中括號,多條件式在條件式的括號中用逗號隔開就可以了,加上中括號意思會不同

    db.collection.find( {條件式} , {顯示欄位} )

    我這邊使用兩個參數放在一起是沒有報錯的,你那邊兩個參數放在一起是出現什麼問題嗎?

     db.messages.find({
                      "userid":"56d6963f924f708819fc8293",
                      "sendtime":{"$lt":Date.now()}
    })

  • 註冊用戶

    db.messages.find({"userid":"56d6963f924f708819fc8293","sendtime":{"$lt":Date.now()}})

    ({條件一, 條件二})   ,兩個條件要用{ }包起來, 包起來就不會報錯了


  • Lv 1

    @OughlLuo 

    也可以使用$and命令符將條件包起來,例如:

    db.objects.find({$and:[{_key:"user:Jason"},{"email":"jasonchang@gmail.com"}]})


登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待