//@author WangSir
var MongoClient = require('mongodb').MongoClient;
var uri = "mongodb://localhost:27017/runoob";
MongoClient.connect(uri, function(err, db) {
//insert
// insertDocument(db, function() {
// db.close();
// });
//select
// findRestaurants(db, function() {
// db.close();
// });
//update
updateRestaurants(db, function() {
db.close();
});
});
//insert
var insertDocument = function(db,callback){
db.collection('runoob01').insertOne(
{
"address" : {
"street" : "2 Avenue",
"zipcode" : "10075",
"building" : "1480",
"coord" : [ -73.9557413, 40.7720266 ]
},
"borough" : "Manhattan",
"cuisine" : "Italian",
"grades" : [
{
"date" : new Date("2014-10-01T00:00:00Z"),
"grade" : "A",
"score" : 11
},
{
"date" : new Date("2014-01-16T00:00:00Z"),
"grade" : "B",
"score" : 17
}
],
"name" : "Vella",
"restaurant_id" : "41704620"
}, function(err, result) {
console.log("Inserted a document into the restaurants collection.");
callback();
}
)
}
//select
var findRestaurants = function(db, callback) {
var cursor =db.collection('runoob01').find( );
// var cursor =db.collection('runoob01').find( { "borough": "Manhattan" });
// var cursor =db.collection('runoob01').find( { "address.zipcode": "10075"});
// var cursor =db.collection('runoob01').find( { "grades.grade": "B" });
// 大于
// var cursor =db.collection('runoob01').find( { "grades.score": { $gt: 30 } } );
// 小于
// var cursor =db.collection('runoob01').find( { "grades.score": { $lt: 10 } } );
// AND 运算
// var cursor =db.collection('runoob01').find(
// { "cuisine": "Italian", "address.zipcode": "10075" }
// );
// OR 运算
// var cursor =db.collection('runoob01').find(
// { $or: [ { "cuisine": "Italian" }, { "address.zipcode": "10075" } ] }
// );
// sort方法用于排序,1代表升序,-1代表降序。
// var cursor =db.collection('runoob01').find().sort( { "borough": 1, "address.zipcode": 1 } );
cursor.each(function(err, doc) {
if (doc !== null) {
console.dir(doc);
} else {
callback();
}
});
};
//update(单个字段用updateOne,多个字段用updateMany,替换整个文档replaceOne)
var updateRestaurants = function(db,callback){
db.collection('runoob01').updateOne(
{ "name" : "Vella" },
{
$set: { "cuisine": "china" },
$currentDate: { "lastModified": true }
}, function(err, results) {
console.log(results);
callback();
});
};
//delete(删除单个用deleteOne,多个用deleteMany)
var removeRestaurants = function (db,callback){
db.collection('runoob01').deleteOne(
{ "borough": "Queens" },
function(err, results) {
console.log(results);
callback();
}
);
}
node mongodbClient
最新推荐文章于 2024-05-17 18:02:32 发布