MongoDB插入查询数据

本文介绍了如何使用JavaScript在MongoDB中插入数据,并演示了不同方式查询数据的方法,包括使用游标进行迭代输出。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

插入:

use keke

自动在写入数据后产生keke数据库。

> j = { name : "mongo" };
{"name" : "mongo"}
> t = { x : 3 };
{ "x" : 3  }
> db.things.save(j);
> db.things.save(t); 

查询

> db.things.find();
{ "_id" : ObjectId("4c2209f9f3924d31102bd84a"), "name" : "mongo" }
{ "_id" : ObjectId("4c2209fef3924d31102bd84b"), "x" : 3 }
> var cursor = db.things.find();
> while (cursor.hasNext()) printjson(cursor.next());
{ "_id" : ObjectId("501c7e5cab2f3c46faf8e68a"), "name" : "mongo" }
{ "_id" : ObjectId("501c7e65ab2f3c46faf8e68b"), "x" : 3 }

上面的例子显示了游标风格的迭代输出. hasNext() 函数告诉我们是否还有数据如果有则可以调用 next() 函数.

当我们使用的是 JavaScript shell, 可以用到JS的特性, forEach 就可以输出游标了下面的例子就是使用 forEach() 来循环输出:  forEach() 必须定义一个函数供每个游标元素调用.forEavh注意大小写,javascript区分大小写。

> db.things.find().forEach(printjson);
{ "_id" : ObjectId("501c7e5cab2f3c46faf8e68a"), "name" : "mongo" }
{ "_id" : ObjectId("501c7e65ab2f3c46faf8e68b"), "x" : 3 }

 MongoDB shell 我们也可以把游标当作数组来用:

 

> var cursor = db.things.find();
> printjson(cursor[1]);
{ "_id" : ObjectId("501c7e65ab2f3c46faf8e68b"), "x" : 3 }
> 

 

使用游标时候请注意占用内存的问题特别是很大的游标对象有可能会内存溢出所以应该用迭代的方式来输出下面的示例则是把游标转换成真实的数组类型:

> var arr = db.things.find().toArray();
> arr[1]
{ "_id" : ObjectId("501c7e65ab2f3c46faf8e68b"), "x" : 3 }
> 

 

 

 

转载于:https://www.cnblogs.com/keke3399/archive/2012/08/04/2622621.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值