如何从MongoDB中删除数字集合?
PRIMARY> db.123456789011.remove({});
Tue Mar 20 08:42:51 SyntaxError: missing ; before statement (shell):1
PRIMARY> db.123456789011.drop({});
Tue Mar 20 08:43:13 SyntaxError: missing ; before statement (shell):1
Run Code Online (Sandbox Code Playgroud)
是通过PHP脚本创建的..现在我无法弄清楚如何删除它..
思考?
谢谢
执行插入后,我想使用json_encode()将对象传递给客户端.问题是,_id值不包括在内.
$widget = array('text' => 'Some text');
$this->mongo->db->insert($widget);
If I echo $widget['_id'] the string value gets displays on the screen, but I want to do something like this:
$widget['widgetId'] = $widget['_id']->id;
So I can do json_encode() and include the widget id:
echo json_encode($widget);
Run Code Online (Sandbox Code Playgroud) 我可能会对此有点了解,因为我还在学习MongoDB的细节,但是这里有.
现在我正在研究一种搜索/过滤数据集的工具,按任意数据点(例如流行度)对其进行排序,然后按ID进行分组.我认为我能做到这一点的唯一方法是通过Mongo的MapReduce功能.
我不能使用.group(),因为我正在使用超过10,000个键,我还需要能够对数据集进行排序.
我的MapReduce代码运行得很好,除了一件事:排序.排序只是不想工作.
db.runCommand({
'mapreduce': 'products',
'map': function() {
emit({
product_id: this.product_id,
popularity: this.popularity
}, 1);
},
'reduce': function(key, values) {
var sum = 0;
values.forEach(function(v) {
sum += v;
});
return sum;
},
'query': {category_id: 20},
'out': {inline: 1},
'sort': {popularity: -1}
});
我已经在流行度数据点上有一个降序索引,所以它肯定不起作用,因为缺少:
{ "v" : 1, "key" : { "popularity" : -1 }, "ns" : "app.products", "name" : "popularity_-1" }
我只是想不通为什么它不想排序.
我没有内联结果集,而是将其输出到另一个集合,然后运行.find().sort({popular:-1}),因为这个功能的工作方式.
这是我的MongoDB集合:
{
"_id" : ObjectId("515d8f53175b8ecb053425c2"),
"category" : "Batteries",
"products" : [
{
"brand" : "Duracell",
"item" : [
"AA",
"AAA"
]
},
{
"brand" : "Everyday",
"item" : [
"9V",
"AA",
"12V"
]
}
]
}
Run Code Online (Sandbox Code Playgroud)
我需要的输出是
1)所有项目的唯一列表
{["AA", "AAA", "9V", "12V"]}
Run Code Online (Sandbox Code Playgroud)
2.每个产品的唯一项目清单
{
"category" : "Batteries",
"item": ["AA", "AAA", "9V", "12V"]
}
Run Code Online (Sandbox Code Playgroud)
我是MongoDB的新手,我尝试了不同的聚合功能,似乎没什么用.请帮忙.
我正在运行此代码:
$db = new Mongo("mongodb://user:pw@flame.mongohq.com:27081/dbname");
$collection = $db->foobar;
$collection->insert($content);
Run Code Online (Sandbox Code Playgroud)
我试图通过创建一个随机集合来测试mongohq.
我收到这个错误:
Fatal error: Call to undefined method MongoDB::insert() in /ajax/db.php on line 24
Run Code Online (Sandbox Code Playgroud)
据我所知,我安装了客户端:

我也在运行php 5.2.6
有什么问题?谢谢.
我在哪里可以获得PHP 5.4的mongo php驱动程序?对于Windows vc9不是线程安全的.
我可以看到Mongo shell的统计数据为
db.stats()
Run Code Online (Sandbox Code Playgroud)
要么
db.collection_name.stats()
Run Code Online (Sandbox Code Playgroud)
如何从PHP和Python查看数据库或集合的统计信息.
编辑:我已经在PHP中完成了它,但仍然无法在Python中完成它.
救命?
我正在使用MongoDB复制集开发一个PHP Web应用程序来存储我的数据.我偶尔会收到以下错误:
致命错误:未捕获异常'MongoConnectionException',并显示消息'未找到候选服务器'
我有一个3成员Mongo副本集与1仲裁
rs0:PRIMARY> rs.status()
{
"set" : "rs0",
"date" : ISODate("2013-01-30T01:04:04Z"),
"myState" : 1,
"members" : [
{
"_id" : 0,
"name" : "JenEricsMacPro.local:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 844478,
"optime" : Timestamp(1359507378000, 1),
"optimeDate" : ISODate("2013-01-30T00:56:18Z"),
"self" : true
},
{
"_id" : 1,
"name" : "ericsmacbookpro.local:27017",
"health" : 1,
"state" : 2,
"stateStr" : "SECONDARY",
"uptime" : 10720,
"optime" : Timestamp(1359507378000, 1),
"optimeDate" : ISODate("2013-01-30T00:56:18Z"),
"lastHeartbeat" : ISODate("2013-01-30T01:04:04Z"),
"pingMs" : …Run Code Online (Sandbox Code Playgroud) 像这样的简单查询:
$a = array('_id' => array( '$in' => array_values($ids) ) );
var_dump($a);
$cursor2 = $data->find( $a );
Run Code Online (Sandbox Code Playgroud)
在mongodb 2.4.9中工作,但是,在2.6.0-rc2中返回:
Type: MongoCursorException
Code: 17287
Message: Can't canonicalize query: BadValue $in needs an array
Run Code Online (Sandbox Code Playgroud)
var_dump的输出:
array(1) {
["_id"]=>
array(1) {
["$in"]=>
array(10) {
[0]=>
object(MongoId)#57 (1) {
["$id"]=>
string(24) "52214d60012f8aab278eacb6"
}
[1]=>
object(MongoId)#58 (1) {
["$id"]=>
string(24) "52214d60012f8aab278eaca8"
}
[2]=>
object(MongoId)#59 (1) {
["$id"]=>
string(24) "52214d60012f8aab278eaca7"
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道这是Mongo还是PHP相关?
谢谢!