通过php驱动程序进行的MongoDB查询没有返回任何resutl
MongoDB query through php driver returns no resutls
因此,我在web服务器上有一个php脚本,通过另一个页面构建的JSON对象POST侦听mongoDB查询,并将查询发送到php服务。我的所有标准查询,例如:CCD_ 1被发送并返回正确的结果。
但是,当我尝试发送一个包含一系列值的查询时,它不会返回任何结果。
{"field2":"1234","date" : {$gte : "2013-02-11"},"date" : {$lte : "2013-02-11"}}
我可以进入命令行并呼叫:
db.collection.find({"field2":"1234","date" : {$gte : "2013-02-11"},"date" : {$lte : "2013-02-11"}} )
其按预期返回结果。很明显,有些事情我还不完全理解。
执行搜索的PHP命令:
$c_collection->find(json_decode($request));
任何帮助都将不胜感激。
您正试图使用重复的元素名称搜索数据库。MongoDb在执行此搜索时会发出这样的错误:
Duplicate element name 'date'.
你需要把你的范围放在同一个区块内。例如:
{
'date': {
$gte:"datehere",
$lte:"datehere"
}
}
在PHP中:
$criteria = array('date' => array('$gte' => 'datehere', '$lte' => 'datehere'));
然后使用json作为标准。
此外,为什么要在将标准传递到数据库之前对其进行解码?该方法可以很好地接受数组。
相关文章:
- AJAX:$_GET不返回任何值
- document.styleSheets不返回任何内容
- 在解析对象.save()中;没有返回任何原因
- PhantomJs在控制台中发出http请求时不会返回任何状态
- 为什么这个array.filter总是不返回任何内容
- IE8DOM转换XML,并且不从jQueryfind()或filter()返回任何内容
- 比较数组中的连续元素不会返回任何结果(javascript)
- WebKitBrowser.StringByEvaluatingJavaScriptFromString 不返回任何值
- Ajax 不返回任何结果
- 我的 API 调用没有返回任何内容
- Javascript函数img.onload不返回任何内容(真或假)
- 为什么我的 sinon 假服务器不返回任何内容
- beforeSave导致查询不返回任何内容
- Ajax对PHP页面的调用总是不返回任何内容,即使PHP页面有回声
- 控制器的Helper函数不返回任何内容
- 函数不返回任何内容
- Breeze.js getEntities不返回任何实体
- 自定义Angular.js过滤器在IE8中不返回任何内容,在Chrome/FF中运行良好
- Dexie.exists()方法不返回任何内容(Dexie.js&IndexedDB)
- getElementsByClassName未返回任何内容