正确答案:
db.items.aggregate([{KaTeX parse error: Expected '}', got 'EOF' at end of input: group:{_id:"pnumber",average:{ a v g : " avg:" avg:"quantity"}}}])
正确答案:
scan ‘student’,{COLUMN=>‘StuInfo:Age’,FILTER=>“SingleColumnValueFilter(‘StuInfo’,‘Age’,=,‘binary:19’)”}
正确答案:
var cursor = db.book.find({“price”:{$gte:60}})
while(cursor.hasNext()) {printjson(cursor.next())}
正确答案:
db.sales.update({“quantity”:10},{$set:{“quantity”:80}},0,1)
正确答案:
db.book.find({KaTeX parse error: Expected '}', got 'EOF' at end of input: or:[{"price":{"gte":45,“$lt”:60}},{“by”:“机械工业出版社”}]},{“_id”:0,“by”:1,“price”:1,“title”:1})
我的答案:
mongoexport --db testdb --collection book --out /home/hadoop/result.txt
正确答案:
mongoexport -h 192.168.226.132:27017 -d testdb -c book -o /home/hadoop/result.txt
建立mytest数据库,建立fruit集合,键值对输入如下表文档,并截图输入结果。
正确答案:
db.fruit.insert({“_id”:1,“fruits”:[“apple”, “banana”, “peach”]})
db.fruit.insert({“_id”:2,“fruits”:[ “apple”,“cherry”,“orange”]})
正确答案:
db.c3.update({“_id”: ObjectId(“610d803f8bbd7614abe4ad36”)},{$addToSet:{fruit:“grape”}})
db.c3.find()
正确答案:
var map=function(){emit(this.pnumber,this.quantity)}
var reduce=function(key,value){return value.join(‘,’)}
var options={query:{quantity:{$gt:5}},out:“pnumber”}
db.items.mapReduce(map,reduce,options);
正确答案:
import pymongo
myclient = pymongo.MongoClient(“mongodb://192.168.126.140:27017/”)
mydb = myclient[“runoobdb”]
mycol = mydb[“commodity”]
mydict = {“_id” : 1, “item” : “abc”, “price” : 10, “quantity” : 2 }
x = mycol.insert_one(mydict)
for result in mycol.find():
此题为操作题,使用在线平台或分享的虚拟机平台软件。文档替换,把mytest数据库中mybook集合中如图1所示的文档替换成图2的新文档,如集合不存在,自行创建并录入数据。列出相关命令或程序,结果截图。(7分)
正确答案:
use mytest
db.mybook.insert({“_id”:2,“title”:“Nosql”,“by”:“ptpress”,“author”:“Jack”,“price”:45,“description”:“Database”})
var u=db.mybook.findOne({“title”:“Nosql”})
u.bookinfo={“author”:u.author,“price”:u.price}
u.bookname=u.title
delete u.author
delete u.price
delete u.title
db.mybook.update({“title”:“Nosql”},u)
db.mybook.find().pretty()
正确答案:
(1)启动驱动程序命令:
hbase thrift start
(2)参考程序如下:
from thrift.transport import TSocket
from thrift.protocol import TBinaryProtocol
from thrift.transport import TTransport
from hbase import Hbase
from hbase.ttypes import *
transport = TSocket.TSocket(‘192.168.126.140’,9090)
transport = TTransport.TBufferedTransport(transport)
protocol = TBinaryProtocol.TBinaryProtocol(transport)
client = Hbase.Client(protocol)
transport.open()
contents = ColumnDescriptor(name=‘cf:’, maxVersions=1)
client.createTable(‘test’, [contents])
result=client.getTableNames()
print (result)
(3)运行结果:
聚合:
$group
阶段对文档进行聚合操作,可以对数据进行分组、计数等操作。db.collection.aggregate([
{ $group: { _id: "$field", count: { $sum: 1 } } }
])
查询:
find
命令进行查询,并通过条件筛选数据。db.collection.find({ field: value })
更新:
update
命令修改文档中的数据。db.collection.update({ field: value }, { $set: { newField: newValue } })
导出:
mongoexport
命令导出集合数据到 JSON 或 CSV 文件。mongoexport --db dbName --collection collectionName --out outputFile.json
数组操作:
$addToSet
操作符将元素添加到数组中,确保唯一性。db.collection.update({ _id: docId }, { $addToSet: { arrayField: newValue } })
MapReduce:
db.collection.mapReduce(
function() { emit(this.field, 1); },
function(key, values) { return Array.sum(values); },
{ out: "resultCollection" }
)
Python编程:
from pymongo import MongoClient
client = MongoClient('mongodb://localhost:27017/')
db = client['dbName']
collection = db['collectionName']
索引:
createIndex
创建索引,提高查询性能。db.collection.createIndex({ field: 1 })
删除:
remove
或 deleteMany
、deleteOne
删除文档。db.collection.remove({ field: value })
事务:
startTransaction
和 commitTransaction
等命令进行事务管理。备份与恢复:
mongodump
和 mongorestore
命令进行数据库备份和恢复。查询:
scan
命令进行数据扫描。Scan scan = new Scan();
scan.setFilter(new SingleColumnValueFilter(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), CompareOperator.EQUAL, Bytes.toBytes("value")));
Python编程:
import happybase
connection = happybase.Connection('localhost')
table = connection.table('tableName')
写入:
Put
命令将数据插入 HBase 表中。Put put = new Put(Bytes.toBytes("rowKey"));
put.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"), Bytes.toBytes("value"));
删除:
Delete
命令删除表中的数据。Delete delete = new Delete(Bytes.toBytes("rowKey"));
delete.addColumn(Bytes.toBytes("family"), Bytes.toBytes("qualifier"));
版本控制:
列簇:
过滤器:
这是一个基本的填充,如果有进一步的问题或需要详细的解答,请随时告诉我。